python - groupby 操作后简化 pandas 数据框

标签 python pandas

我有以下数据帧作为 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_indexSeries 转换为 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/

相关文章:

python - Django 'RequestContext' 未定义 - forms.ModelForm

python - 按 ID 对列求和,但跳过第一个实例?

python - pandas 创建一个带有条件的新列(现有列上的最大日期和 == 条件)

python - 如果行值包含在单独数据帧的列中,则返回 bool 指示符

python - 如何在python中生成8字节唯一随机数?

python - QLineEdit 更改边框颜色而不更改边框样式

python - tf.data.Dataset.map() 的输出张量形状有些奇怪

python - 如何将数据框中的第二列除以第一列?

python - 如何在 SQL 和 Pandas 中获得相同的percent_rank?

python - 以编程方式更改PDF中文本的字体颜色