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

  统计/机器学习 数据预处理 Python    浏览次数: 421
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个回答 
4

设置as_index=False就可以了

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

效果如下


AlphaCat   2018-04-13 08:17

3

.reset_index()可以不

JoeyGao   2018-04-13 07:55

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


  相关主题

怎么对pandas dataframe的列求众数   2回答

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

pandas怎么读入tsv格式的数据   1回答

如何复制一个pandas DataFrame   1回答

如何对pandas dataframe的行做循环?   3回答

pandas的DataFrame如何插入带有index的行数据?   1回答

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容   1回答

pandas读取csv中指定的某些列   2回答

如何把一个pandas的dataframe的columns转换成list   1回答

pandas DataFrame去掉重复的行   1回答

pandas pop KeyError求帮助!   3回答

如何重命名pandas的dataframe的列名   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!