首页  >  文章  >  后端开发  >  如何在 Pandas 中旋转数据框?

如何在 Pandas 中旋转数据框?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-12 19:27:02690浏览

How to Pivot a Dataframe in Pandas?

在 Pandas 中透视数据框

要在 Pandas 中透视数据框,您可以使用 .pivot 方法。此方法将指定的值作为列,并相应地重新排列数据框。

假设您有一个包含“Indicator”、“Country”、“Year”和“Value”列的数据框。要转置表格以使 Indicator 列中的值成为新列,请使用以下代码:

out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
print(out)

结果输出将是:

Indicator     1   2   3   4  5
Country Year
Angola  2005  6  13  10  11  5
        2006  3   2   7   3  6

要转换透视数据数据框恢复为平面表,您可以使用 .rename_axis 删除 Indicator 列,并使用 .reset_index 将 Country 和 Year 恢复正常列:

print(out.rename_axis(columns=None).reset_index())

输出将为:

  Country  Year  1   2   3   4  5
0  Angola  2005  6  13  10  11  5
1  Angola  2006  3   2   7   3  6

如果您的数据具有重复的标签组合(例如,国家/地区、年份、指标),则可以使用 .pivot_table 代替。默认情况下,它采用重复值的平均值:

out = df.pivot_table(
    index=['Country', 'Year'],
    columns='Indicator',
    values='Value')
print(out.rename_axis(columns=None).reset_index())

输出将为:

  Country  Year    1     2     3     4    5
0  Angola  2005  6.0  13.0  10.0  11.0  5.0
1  Angola  2006  3.0   2.0   7.0   3.0  6.0

有关 Pandas 中重塑和数据透视表的更多信息,请参阅用户指南.

以上是如何在 Pandas 中旋转数据框?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn