转动此数据框:
Name │ car
──────┼────────
John │ Volvo
John │ Fiat
Paul │ Dacia
进入这个? :
Name │ car_1 │ car_2
──────┼─────────┼─────────
John │ Volvo │ Fiat
Paul │ Dacia │ NaN
表示第一个表中任意数量的副本(一个人的任意车辆数)ID。
答案 0 :(得分:2)
使用unstack
df1=df1.assign(numer=df1.groupby('Name').cumcount()).set_index(['Name','numer']).unstack()
df1
Out[256]:
car
numer 0 1
Name
John Volvo Fiat
Paul Dacia None
df1.columns=df1.columns.map('{0[0]}_{0[1]}'.format)
df1
Out[261]:
car_0 car_1
Name
John Volvo Fiat
Paul Dacia None
答案 1 :(得分:2)
In [190]: (df.assign(x=df.groupby('Name').cumcount()+1)
...: .pivot(index='Name', columns='x', values='car')
...: .add_prefix('car_')
...: .reset_index()
...: .rename_axis(None,1))
...:
Out[190]:
Name car_1 car_2
0 John Volvo Fiat
1 Paul Dacia None