pandas的groupby报错:ValueError: Length of values does not match length of index

  统计/机器学习 Python    浏览次数:10113        分享
0

感觉是发现了pandas的bug,同样的dataframe,对一列groupby的什么没问题,同时对两列groupby的时候就报错了

#不会报错
data.groupby('key1', as_index=False).agg({'y': 'mean'})

#不会报错
data.groupby('key2', as_index=False).agg({'y': 'mean'})

#报错 ValueError: Length of values does not match length of index
data.groupby(['key1', 'key2'], as_index=False).agg({'y': 'mean'})

摸不着头脑,不知道是什么问题

 

卡里昂   2019-10-17 00:54



   1个回答 
1

试试

data.groupby(['key1', 'key2']).agg({'y': 'mean'}).reset_index()

我以前也遇到过这个问题,后来就是这么解决的,不知道对你有没有帮助

SofaSofa数据科学社区DS面试题库 DS面经

LiShanfei   2019-10-17 12:12

神了,这样子果然可以了!NB! - 卡里昂   2019-10-17 15:28


  相关讨论

pd.dataframe怎么同时对两个key排序?

如何重命名pandas的dataframe的列名

怎么利用pandas获得一个列联表(contingency table)?

pandas同时返回一个dataframe的前几行(head)和后几行(tail)

怎么把一个pandas数据框用append的方式添加到现有的csv文件?

1000万行的pandas dataframe求和很慢

怎么按照index对pd.DataFrame的行排序?

怎么把pandas dataframe中一列英文文本全部转成小写?

如何对pandas dataframe的行做循环?

如何复制一个pandas DataFrame

  随便看看

sklearn可以用gpu加速吗?

pytorch里view(-1, 1)什么意思?

python里怎么表示科学计数法?

sklearn中的predict_proba方法的返回值的意义

Resnet-18, Resnet-50, Resnet-101这些模型里的数字是什么意思?