我有一个如下所示的数据框,其中我有不同数量的 case 和3个独特的价值观 val .
case
val
df case val 0 0 x 1 0 y 2 0 z 3 1 x 4 1 z 5 2 y
现在我想要一个数据框架,每个案例有一行,每个案例有编号的列 瓦尔 .我想要这样的东西:
瓦尔
df1 case val0 val1 val2 0 0 x y z 1 1 x nan z 2 2 nan y nan
使用 pivot :
pivot
out = df.pivot(index='case', columns='val', values='val') out.columns = [f'val{i}' for i in range(len(out.columns))]
>>> out val0 val1 val2 case 0 x y z 1 x NaN z 2 NaN y NaN