首页 > 后端开发 > Python教程 > 如何转置 DataFrame 以在 Pandas 中旋转其行和列?

如何转置 DataFrame 以在 Pandas 中旋转其行和列?

Patricia Arquette
发布: 2024-11-11 14:45:03
原创
1111 人浏览过

How can I transpose a DataFrame to pivot its rows and columns in Pandas?

转置 DataFrame 进行透视

透视 DataFrame 是指转置其行和列以实现数据的不同表示。在 Pandas 中,可以采用透视方法来实现此目的。

考虑以下 DataFrame:

Indicator  Country  Year  Value
1          Angola   2005  6
2          Angola   2005  13
3          Angola   2005  10
4          Angola   2005  11
5          Angola   2005  5
1          Angola   2006  3
2          Angola   2006  2
3          Angola   2006  7
4          Angola   2006  3
5          Angola   2006  6
登录后复制

要对此 DataFrame 进行透视以将指标值作为新列:

out = df.pivot(columns = 'Country', 'Year', '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
登录后复制

恢复为未旋转状态格式:

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

如果存在重复的标签组合,则可以使用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 用户指南。

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板