这个问题已被问了一千次问题。但我无法找到上述问题或链接,所以任何知道此事的人都应该帮助我。
我有一个数据库,我查询数据。 获取数据后,我将其加载到大熊猫中。我需要的是一种堆叠/取消堆叠数据的有效方法
E.g
Data:
user_id data_type data_value
2 gender male
3 age 32
2 work_experience None
5 work_experience Engineer
如何重新排列此数据,以便
New Data:
user_id gender age work_experience
2 male '' None
3 '' 32 ''
5 '' '' Engineer
答案 0 :(得分:1)
使用pd.pivot_table
In [644]: df
Out[644]:
user_id data_type data_value
0 2 gender male
1 3 age 32
2 2 work_experience None
3 5 work_experience Engineer
In [645]: pd.pivot_table(df, index='user_id',
.....: values='data_value', columns='data_type',
.....: aggfunc='sum')
Out[645]:
data_type age gender work_experience
user_id
2 NaN male None
3 32 NaN NaN
5 NaN NaN Engineer
使用pivot_result.to_csv('file.csv')
将结果存储在csv。