Python 重塑Dataframe:将唯一列值作为列名
我有一个数据框,表示一对多标记关系,列名为“user_id”和“tags”。一个用户标识可以与许多标记关联,但我想重新安排数据帧,以便每行只有一个用户标识,每个标记值都是它自己的列 i、 e.我有:Python 重塑Dataframe:将唯一列值作为列名,python,pandas,data-manipulation,Python,Pandas,Data Manipulation,我有一个数据框,表示一对多标记关系,列名为“user_id”和“tags”。一个用户标识可以与许多标记关联,但我想重新安排数据帧,以便每行只有一个用户标识,每个标记值都是它自己的列 i、 e.我有: User_id, Tags 1, Dresses, 1, Accessories, 2, Dresses, 2, Hats, 并且想要: User_id, Dresses, Accessories, Hats, 1, 1, 1, 0,
User_id, Tags
1, Dresses,
1, Accessories,
2, Dresses,
2, Hats,
并且想要:
User_id, Dresses, Accessories, Hats,
1, 1, 1, 0,
2, 1, 0, 1,
或
您可以使用
get_dummies
和groupby
:
df =pd.DataFrame({'user_id':[1,1,2,2],'tags':['Dresses','Accessories','Dresses','Hats']})
pd.get_dummies(df).groupby('user_id').max()
返回:
tags_Accessories tags_Dresses tags_Hats
user_id
1 1 1 0
2 0 1 1
看一看熊猫的轴心()
tags_Accessories tags_Dresses tags_Hats
user_id
1 1 1 0
2 0 1 1