对pandas.DataFrame进行groupby结果中index的问题

  统计/机器学习 数据预处理 Python    浏览次数:11711        分享
0

比如我有一个数据集

train.head()

然后我对is_workday和weather进行groupby查看y的均值

train.groupby(['is_workday', 'weather'])['y'].mean()

得到的结果如上。它不是一个传统的dataframe,它的index是两层的,一层是is_workday,第二层是weather。怎么让结果就变成index依然从0开始的数字,然后is_workday和weather只是其中的列而已。

谢谢!



 

niiii   2018-04-12 19:58



   2个回答 
5

设置as_index=False就可以了

train.groupby(['is_workday', 'weather'], as_index=False)['y'].mean()

效果如下


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

AlphaCat   2018-04-13 08:17

3

.reset_index()可以不

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

JoeyGao   2018-04-13 07:55

这个也是可以的 - AlphaCat   2018-04-13 08:18


  相关讨论

pandas怎么求一列的移动中位数?

嵌套dictionary类型数据转成pandas dataframe的问题

pandas 如何扔掉同时满足两个特征过滤条件的数据?

pandas groupby返回组内排序

pandas dataframe对行去重?

怎么把collections.Counter的计数结果转为pandas的DataFrame

pandas返回组内某列值最大的行?

Python Pandas loc切片问题

pandas df怎么根据weekgroup补齐没有的行呢

怎么删去pandas中有空值、nan、null的行?

  随便看看

去掉pandas DataFrame的index的名字

修正R方(adjusted R square)是什么?

怎么把pandas.DataFrame转成torch.tensor的格式?

分类特征的目标编码是什么意思?

怎么让DataFrame按照某一列绝对值从小到按排列?