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

  统计/机器学习 数据预处理 Python    浏览次数: 1825
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面经 问答 实战

AlphaCat   2018-04-13 08:17

3

.reset_index()可以不

SofaSofa数据科学社区 DS面经 问答 实战

JoeyGao   2018-04-13 07:55

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


  相关主题

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

pd.read_csv读取数据时自动跳过空白行   1回答

pd Series的用法问题   1回答

pandas dataframe对行去重?   1回答

pandas报错ValueError: Cannot convert non-finite values (NA or inf) to integer   1回答

python或者pandas读取excel xlsx文件中指定的一个sheet   1回答

如何复制一个pandas DataFrame   1回答

pandas df.head()报错AttributeError: 'NoneType' object has no attribute 'head'   1回答

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

行数很多的pandas DataFrame如何在jupyter中完整显示?   1回答

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

pandas dataframe insert报错ValueError: unbounded slice   1回答



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

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

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

我们谢绝答非所问。

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

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