pandas行转列

需求

原始文件
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

方法

  1. 保存为’/home/yanghao3/pandas.csv’
  2. 脚本
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')
  1. 结果/home/yanghao3/result.csv

参考

  1. http://www.4byte.cn/question/678172/python-pandas-convert-rows-as-column-headers.html
  2. http://stackoverflow.com/questions/20461165/how-to-convert-pandas-index-in-a-dataframe-to-a-column
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值