使用 pandas 转置数据集的问题

Issue with transposing a data set using pandas

我正在尝试转置以下数据集

    CountryName SeriesName    1990  1991    1992    1993    1994
    Afghanistan LitRate       #N/A  #N/A    #N/A    #N/A    #N/A
    Afghanistan AgrValue      #N/A  #N/A    #N/A    #N/A    #N/A
    Afghanistan CropProd      68.35 70.27   65.81   71.38   74.83
    Afghanistan FertCons      #N/A  #N/A    #N/A    #N/A    #N/A

它在顶部还有几年,每个国家大约有 100 个不同的系列名称。我想转置数据集,以便年份是一列,每个系列名称都是它自己的列。

我试过使用以下代码:

    new_panda = df.pivot_table(['1990','1991','1992','1993','1994','1995', '1996', '1997', '1998', '1999'],
                                'CountryName',
                                'SeriesName')
    new_panda.to_csv('wb2.csv')

但是结尾格式不正确

有什么想法吗?

谢谢,

df = pd.DataFrame(data=[['a','c',1,2],['a','d',4,5],['b','d',8,6],['b','c',7,9]],columns=['Country','Series',1990,1991])

dfmi = df.set_index(['Country','Series'])

df2 = pd.DataFrame(dfmi.stack())
df2[df2[0]==5]

(肯定有一种方法可以做到这一点,而无需通过记录进行往返:)

da = array(df2.to_records())
df4 = pd.DataFrame.from_records(da)
df4.columns=['Country','Series','Year','Trait']