如何使用python将一列转换为数据集中的多列?例如,
user_id info_name score
1 a 50%
1 b 75%
1 c 100%
目标是将"info_name"
列切换为多列,以使"user_id"
不重复3次,并且有关给定用户的信息全部在一行中,如下所示:
user_id a b c
1 50% 75% 100%
答案 0 :(得分:1)
一种方法是使用pd.pivot_table
:
res = df.pivot_table(index='user_id', columns='info_name',
values='score', aggfunc='first')\
.rename_axis('', axis=1).reset_index()
print(res)
user_id a b c
0 1 50% 75% 100%