我正在努力以简单有效的方式重构我的数据框架。
第一个数据帧'new'就是我所拥有的,所需的数据帧是new2。我一直在使用pivot,stack,unstack,set_index,resorpe等很长一段时间,但仍然无法实现这种简单的转换。我一直收到错误消息或错误的结果。有人可以帮忙吗?
我有什么
data1 = [50, 60]
data2 = [100, 200]
year = [2015,2016]
new = pd.DataFrame({'product': data1, 'year':year, 'market':data2})
我想要什么
new2 = pd.DataFrame(columns = ['2015', '2016'])
new2.loc['market'] = data1
new2.loc['product'] = data2
答案 0 :(得分:0)
您需要set_index
T
,最后删除列名称添加rename_axis
:
df = df.set_index('year').T.rename_axis(None, axis=1)
print (df)
2015 2016
market 100 200
product 50 60