gpt4 book ai didi

python - 当 Min_count=1 时,Groupby 和等于 0

转载 作者:行者123 更新时间:2023-12-05 08:07:47 25 4
gpt4 key购买 nike

我有一个包含重复列名的数据框。现在我正在尝试使用以下命令将重复的列合并为一个列(以下数据框仅用于演示。它不包含重复的列名,但重复的列名也会出现同样的问题)。

d=pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
d['col2']=d['col2'].astype(str)
d['col1']=np.nan
d=d.groupby(lambda x:x, axis=1).sum(min_count=1)


the output is:
col1 col2
0 0.0 3.0
1 0.0 4.0

但我希望

the output is:
col1 col2
0 Nan 3.0
1 Nan 4.0

我的希望是,通过使用 min_count=1,当求和的列都是 NaN 时,pandas 将返回 NaN。但是,现在它返回 0 而不是 NaN。知道为什么吗?

最佳答案

这取决于你的 pandas 版本号,当你设置 min_count=1 时。如果您的版本 < 0.22.0,那么当非 na 值少于 1 个时,您确实会得到 np.nan。从 0.22.0 版本开始,当只有 na 值时,默认值已更改为 0。

documentation 中也对此进行了解释.

关于python - 当 Min_count=1 时,Groupby 和等于 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53462503/

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