如何在 Pandas 中旋转数据框? [重复]

问题描述 投票:0回答:2

我有一个 csv 格式的表格,如下所示。我想转置表格,以便指标列中的值是新列。

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

我希望最终结果是这样的:

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

我尝试使用 pandas 数据框,但没有取得太大成功。

print(df.pivot(columns = 'Country', 'Year', 'Indicator', values = 'Value'))

关于如何实现这一目标有什么想法吗?

python pandas dataframe pivot
2个回答
102
投票

您可以使用

pivot_table

pd.pivot_table(df, values = 'Value', index=['Country','Year'], columns = 'Indicator').reset_index()

此输出:

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

8
投票

要对该表进行透视,您需要在 Pandas“透视”中使用三个参数。例如,如果

df
是您的数据框:

table = df.pivot(index='Country', columns='Year', values='Value')  
print(table)

应该给出所需的输出。

© www.soinside.com 2019 - 2024. All rights reserved.