我有一个包含重复列名的数据框。现在,我尝试使用以下命令将重复的列合并为单个列(以下数据框仅用于演示。它不包含重复的列名,但是重复的列名也会出现相同的问题)。 / p>
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。知道为什么吗?
答案 0 :(得分:0)
当您设置min_count = 1时,这取决于您的熊猫版本号。 如果您的版本<0.22.0,那么当非na值少于1时,您的确会得到np.nan。 从0.22.0版开始,只有na值时,默认值已更改为0。
documentation中也对此进行了解释。