我在使用Pandas的groupby().sum()
时遇到了一个奇怪的问题。
我有一个DF,其中包含2个类别列和3个numeric/float
值列 - 值列如下所示包含None
:
cat_1 cat_2 val_1 val_2 val_3
0 b z 0.1 NaN NaN
1 b x 0.1 NaN NaN
2 c y 0.1 1.0 NaN
3 c z 0.1 NaN NaN
4 c x 0.1 1.0 NaN
我想要按照 cat_1
进行分组,然后对每个类别的 val_1
、val_2
和 val_3
列进行求和。
这是最终聚合的结果:
cat_1 val_1 val_2 val_3
0 b 0.2 NaN NaN
1 c 0.3 2.0 NaN
问题:当我执行df.groupby(["cat_1"], as_index=False).sum()
时,对于所有值均为None/null
的类别,我会得到0.0
: cat_1 val_1 val_2 val_3
0 b 0.2 0.0 0.0
1 c 0.3 2.0 0.0
我该如何解决这个问题?谢谢。
min_count=1
应该可以工作。请参考 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.sum.html。 - ScootCorkskipna=False
可以工作,但是它在 GroupBy.sum 中没有被实现。 - ScootCork