我有以下数据帧作为 groupby 操作的结果:
region year
1.0 2015.0 6.775457e+05
2016.0 6.819761e+05
2017.0 6.864065e+05
如何将其转换为以下内容:
region year val
1.0 2015.0 6.775457e+05
1.0 2016.0 6.819761e+05
1.0 2017.0 6.864065e+05
我尝试使用 unstack() 但不起作用
最佳答案
您需要reset_index
将 Series
转换为 DataFrame
:
df = df.groupby(['region', 'year'])['val'].sum().reset_index(name='val')
print (df)
region year val
0 1.0 2015.0 677545.7
1 1.0 2016.0 681976.1
2 1.0 2017.0 686406.5
或者如果通过sum
聚合,mean
添加参数as_index=False
:
df = df.groupby(['region', 'year'], as_index=False)['val'].sum()
print (df)
region year val
0 1.0 2015.0 677545.7
1 1.0 2016.0 681976.1
2 1.0 2017.0 686406.5
关于python - groupby 操作后简化 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45686869/