需求
原始文件
Year Country medal no of medals
1896 Afghanistan Gold 5
1896 Afghanistan Silver 4
1896 Afghanistan Bronze 3
1896 Algeria Gold 1
1896 Algeria Silver 2
1896 Algeria Bronze 3
目标
Year Country Gold Silver Bronze
1896 Afghanistan 5 4 3
1896 Algeria 1 2 3
方法
- 保存为’/home/yanghao3/pandas.csv’
- 脚本
df = pd.read_csv('/home/yanghao3/pandas.csv')
medals = df.pivot_table('no', ['Year', 'Country'], 'medal')
medals.reset_index(level=0,inplace=True)
medals.reset_index(level=0,inplace=True)
medals = medals.reindex_axis(['Year', 'Country', 'Gold', 'Silver', 'Bronze'], axis = 1)
medals.to_csv('/home/yanghao3/result.csv')
- 结果
/home/yanghao3/result.csv
参考
- http://www.4byte.cn/question/678172/python-pandas-convert-rows-as-column-headers.html
- http://stackoverflow.com/questions/20461165/how-to-convert-pandas-index-in-a-dataframe-to-a-column