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

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


  相关主题

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

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

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

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

pandas groupby agg中使用自定义函数   1回答

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

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

pandas.DataFrame的index重新排列(从0开始)   2回答

pandas读取文件夹中所有的csv文件   1回答

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

pandas DataFrame中经常出现SettingWithCopyWarning   2回答

pandas操作出现ValueError: The truth value of a Series is ambiguous.   1回答



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

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

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

我们谢绝答非所问。

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

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