Pandas按一级索引分组统计列行数新增count列全为NaN如何解决
错误原因
核心问题是索引不匹配:
df.groupby(level=0).count()['value']返回的计数序列仅包含一级索引(每个一级索引仅出现1次)- 你的原始DataFrame为多级索引结构,pandas赋值时会自动按索引对齐,原始df的多级索引无法和计数序列的一级索引匹配,因此所有count值被填充为NaN。
正确实现方式
使用transform方法完成分组聚合,它会将分组计算的结果广播到分组内的每一行,返回结果的索引和原DataFrame完全一致,可直接赋值:
df['count'] = df.groupby(level=0)['value'].transform('count')
内容的提问来源于stack exchange,提问作者Jonas Palačionis
相关产品推荐
相关产品推荐

