gpt4 book ai didi

python - 创建具有长多重索引的 pandas 数据透视表

转载 作者:行者123 更新时间:2023-12-01 09:04:26 26 4
gpt4 key购买 nike

我有一个数据框 df,其形状为 (4573,64),我正在尝试对其进行旋转。最后一列是一个“id”,有两个可能的字符串值“old”和“new”。我想将前 63 列设置为索引,然后将“id”列放在顶部,其值是每个索引行的“旧”或"new"计数。我已经用列标签创建了一个列表对象,我希望将其作为名为 cols 的索引。

我尝试了以下方法:

df.pivot(index=cols, columns='id')['id']

这会产生错误:“所有数组的长度必须相同”还尝试了以下方法,看看我是否可以获得总和,但也没有运气:

pd.pivot_table(df,index=cols,values=['id'],aggfunc=np.sum)

非常感谢任何IDE

最佳答案

我在网上发现了一个线程,讨论 pandas 0.23.0 中可能存在的错误,其中 pandas.pivot_table() 只要包含 NaN 就不会接受多重索引(评论中链接到 github)。我的解决方法是这样做

df.fillna('empty', inplace=True)

那么解决方案如下:

df1 = pd.pivot_table(df, index=cols,columns='id',aggfunc='size', fill_value=0)

正如 jezrael 所提议的那样,它将按预期工作,因此答案被接受。

关于python - 创建具有长多重索引的 pandas 数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52185218/

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