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

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

.reset_index()可以不

JoeyGao   2018-04-13 07:55

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

设置as_index=False就可以了

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

效果如下


AlphaCat   2018-04-13 08:17



  相关主题

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

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

pandas pop KeyError求帮助!   3回答

把pandas.DataFrame中所有行全部随机排列   2回答

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

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

将pandas.DataFrame中的-1全部换成0   1回答

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

pandas里index的问题   1回答

怎么把pyspark RDD dataframe转为pandas.DataFrame?   1回答

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

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



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

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

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

我们谢绝答非所问。

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

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