gpt4 book ai didi

python - pandas pivot_table 中的意外结果

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:37 25 4
gpt4 key购买 nike

我正在尝试在 pandas Dataframe 上创建数据透视表。我几乎得到了预期的结果,但它似乎乘以了二。我可以除以二然后收工,但是,我想知道我是否做错了什么。

代码如下:

import pandas as pd
import numpy as np

df = pd.DataFrame(data={"IND":[1,2,3,4,5,1,5,5],"DATA":[2,3,4,2,10,4,3,3]})
df_pvt = pd.pivot_table(df, aggfunc=np.size, index=["IND"], columns="DATA")

df_pvt 现在是:

DATA   2    3    4    10
IND
1 2.0 NaN 2.0 NaN
2 NaN 2.0 NaN NaN
3 NaN NaN 2.0 NaN
4 2.0 NaN NaN NaN
5 NaN 4.0 NaN 2.0

但是,应该是 1.0 而不是 2.0!我误解了什么/做错了什么?

最佳答案

改用字符串 'size'。这将触发 Pandas 对“大小”的解释,即组中元素的数量。 NumPy 对大小的解释是每个维度长度的乘积。

df = pd.pivot_table(df, aggfunc='size', index=["IND"], columns="DATA")

print(df)

DATA 2 3 4 10
IND
1 1.0 NaN 1.0 NaN
2 NaN 1.0 NaN NaN
3 NaN NaN 1.0 NaN
4 1.0 NaN NaN NaN
5 NaN 2.0 NaN 1.0

关于python - pandas pivot_table 中的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51211232/

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