在 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中文网其他相关文章!