如何使用 Pandas 旋转数据框?

Patricia Arquette
发布: 2024-11-21 02:10:14
原创
123 人浏览过

How to Pivot a Dataframe Using Pandas?

如何使用 Pandas 透视数据框

重塑表格数据是数据分析中的一项基本任务。数据透视是一种在数据框中调换行和列的技术,对于创建数据透视表和从不同角度探索数据通常很有用。让我们探索如何在强大的数据操作库 Pandas 中执行此操作。

要旋转数据框,主要使用 .pivot 方法。此方法需要多个参数:

  1. index:指定要成为透视数据帧索引的列。
  2. :指示要成为数据透视表的列标题的列。
  3. :表示应使用其值填充数据透视表的列。

例如,考虑以下数据框:

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
登录后复制

要旋转此数据框以使 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 删除指标轴并使用 .reset_index 转换国家/地区和年回到正常列。

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())
登录后复制

这将输出类似的旋转数据帧,但具有重复组合的平均值。

有关更详细的概述,请参阅 Pandas 用户重塑和数据透视表指南。

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

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