2

我有以下csv结构:

'国家' '1960' '1961' '1962'
澳大利亚 450 567 723
新西兰 125 320
工业 350 375 395
SL        
帕克 100 115 218

使用 Python Pandas 如何将上述结构转换(转置)为以下结构?

'国家' '年份' '价值'
澳大利亚 1960 450
澳大利亚 1961 567
澳大利亚 1962 723
新西兰 1960   
新西兰 1961 125
...

我尝试使用 pivot 是徒劳的。

4

1 回答 1

6
In [19]: df
Out[19]:
year     1960  1961  1962
Country
AUS       450   567   723
NZ        NaN   125   320
IND       350   375   395
SL        NaN   NaN   NaN
PAK       100   115   218

In [20]: df.stack().reset_index()
Out[20]:
   Country  year    0
0      AUS  1960  450
1      AUS  1961  567
2      AUS  1962  723
3       NZ  1961  125
4       NZ  1962  320
5      IND  1960  350
6      IND  1961  375
7      IND  1962  395
8      PAK  1960  100
9      PAK  1961  115
10     PAK  1962  218

显然 NaN 被丢弃了。

于 2013-04-16T09:36:40.370 回答