gpt4 book ai didi

python - 具有列表值的 Pandas 数据框列

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:30 25 4
gpt4 key购买 nike

我有一个 Pandas 数据框,其中列包含值列表。像下面这样。

            A                           B                           
0 ['x','x','y','y','z'] ['m','m','n','n','p']

我想为列表中的每个唯一项目创建单独的列,并在这些新列下提及每个项目的计数。

            A                           B                       x   y   z   m   n   p           
0 ['x','x','y','y','z'] ['m','m','n','n','p'] 2 2 1 2 2 1

有人可以为此编写代码吗?

最佳答案

使用:

pd.concat([df,df.stack().explode().value_counts().to_frame().T],axis=1)

输出:

                 A                B  m  x  y  n  z  p
0 [x, x, y, y, z] [m, m, n, n, p] 2 2 2 2 1 1

如果你想保持列表的顺序:

s=df.stack().explode()
pd.concat([df,s.value_counts().reindex(s.drop_duplicates()).to_frame().T],axis=1)

A B x y z m n p
0 [x, x, y, y, z] [m, m, n, n, p] 2 2 1 2 2 1

不止一行:

pd.concat([df,df.stack().explode().groupby(level=0).value_counts().unstack()],axis=1)

A b m n p q x y z
0 [x, x, y, y, z] [m, m, n, n, p] 2.0 2.0 1.0 NaN 2.0 2.0 1.0
1 [y, y, y, y, z] [p, q, n, n, p] NaN 2.0 2.0 1.0 NaN 4.0 1.0

关于python - 具有列表值的 Pandas 数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59183203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com