我有一个数据框,其中有许多列中缺少的值,我希望按以下方式分组:
将熊猫作为pd导入
将numpy作为np导入
df=pd.DataFrame({'a':['1','2','3','b':['4',np.NaN','6']})
[4]on df.groupby('b').groups
Out[4]:{'4':[0],'6':[2]}
请参见Pandas已删除具有NaN目标值的行。(我想包括这些行!)
因为我需要很多这样的操作(很多col都缺少值),并且使用比中间值(通常是随机林)更复杂的函数,所以我希望避免编写太复杂的代码。
有什么建议吗?我应该为此编写一个函数还是有一个简单的解决方案
熊猫>;=1.1
从pandas 1.1开始,您可以更好地控制这种行为,现在可以使用dropna=False在石斑鱼中使用NA值:
pd.\u版本__
#“1.1.0.dev0+2004.g8d10bfb6f”
#文档中的示例
df
a、b、c
0 1 2.0 3
1南4
2 2 1.0 3
3 1 2.0 2
#不带NA(默认值)
df.groupby('b').sum()
a c
B
一点零二三
二点零二五
#带NA
df.groupby('b',dropna=False).sum()
a c
B
一点零二三
二点零二五
南14