使用 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']
我正在尝试转置以下数据集
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']