首页 > 后端开发 > Python教程 > 如何将 Pandas 中的数据表转换为'指标”列值成为新列?

如何将 Pandas 中的数据表转换为'指标”列值成为新列?

Mary-Kate Olsen
发布: 2024-12-04 20:30:15
原创
235 人浏览过

How do I transform a data table in Pandas with the 'Indicator' column values becoming new columns?

在 Pandas 中透视 Dataframe

该任务涉及转置 CSV 格式的数据表,其中“指标”列值变为新的专栏。所需的结果是扁平格式,其中行由“国家”和“年份”定义,列是“指标”值。

使用 .pivot

要实现枢轴操作,可以利用 .pivot 方法作为如下所示:

out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
登录后复制

此方法重新排列数据,使“国家”和“年份”成为行索引,“指标”值成为列。生成的“out”变量保存透视数据。

要将数据返回为平面表格式,可以使用 .rename_axis 从列中消除“Indicator”标签,并使用 .reset_index 恢复“Country”和“年份”作为列。

print(out.rename_axis(columns=None).reset_index())
登录后复制

这会生成一个带有“国家/地区”的扁平表格, “年份”和“指标”值作为列。

使用 .pivot_table

如果“国家/地区”、“年份”和“指标”重复' 原始数据集中的组合,可以使用.pivot_table。它对重复值执行聚合(默认平均值)。

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

此方法会生成一个扁平化的表格,其中对重复值进行平均,并且列中省略了“指标”标签。

相关文档

有关重塑和数据透视表的更多详细信息,请参阅Pandas,请参阅以下资源:

  • 重塑和数据透视表用户指南
  • Pandas 文档:重塑和透视

以上是如何将 Pandas 中的数据表转换为'指标”列值成为新列?的详细内容。更多信息请关注PHP中文网其他相关文章!

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