python 中存在重复条目时如何转置数据框列?

How to Transpose dataframe column when duplicate entries exist in python?

我在转置 python 中的某个列时遇到困难。

我有以下df

ID  Value  Date
1   15     2019/01/01  
1   13     2019/02/01  
1   17     2019/03/01  
2   16     2019/01/01  
2   14     2019/02/01  
2   15     2019/03/01

我想创建一个 df,以便删除 ID 列中的重复项并转置值

ID  Value_01  Value_02  Value_03  
1   15        13        17  
2   16        14        15

使用 cumcountgroupby 制作您的专栏,然后 crosstab

df1 = df.assign(key=df.groupby('ID').cumcount() + 1)

df2 = pd.crosstab(df1["ID"], df1["key"], df1["Value"], aggfunc='first').add_prefix(
    "Value_"
).reset_index().rename_axis(None, axis=1)

print(df2)

   ID  Value_1  Value_2  Value_3
0   1       15       13       17
1   2       16       14       15