如何在Pandas中旋转数据帧?

2024-04-25 23:59:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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'))

你有什么想法吗?

谢谢


Tags: columnscsv数据名称框架pandasdfvalue
2条回答

这是一个猜测:它不是一个“.csv”文件,而是一个从“.csv”导入的Pandas数据帧。

要旋转此表,需要熊猫“pivot”中的三个参数。e、 g.,如果 df是您的数据帧:

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

这应该应该给出所需的输出。

您可以使用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

相关问题 更多 >