我希望使用groupby和agg折叠数据集,并希望将NaN值保留为单独的行而不折叠。例如,初始数据为:
mydata = {'category' : [np.NaN, np.NaN, "a", "b", "b", "c"],'category2' : ["f", "f", "r", "h", "h", "j"], 'value' : ['12', '11', '10', '13', '15', '11']}
df = pd.DataFrame(mydata, columns=['category','category2','value'])
df=df.groupby(['category','category2'], dropna=False
).agg({'value':'max'})
category category2 value
0 NaN f 12
1 NaN f 11
2 a r 10
3 b h 13
4 b h 15
5 c j 11
电流输出:
category category2 value
0 NaN f 12
1 a r 10
2 b h 15
3 c j 11
预期输出:
category category2 value
0 NaN f 12
1 NaN f 11
2 a r 10
3 b h 15
4 c j 11
除了将 Dataframe 拆分为两个NaN和非NaN Dataframe 之外,是否有其他方法可以使用group_by
执行此操作?
1条答案
按热度按时间zmeyuzjn1#
两种情况的连接行(具有
NaN
值,但聚合时不具有NaN
):