根据 Python 后缀重塑数据框

reshape a dataframe based on suffix with Python

我需要 'reshape' 基于 X 列后缀的数据框。

X    Y
a_1  12
b_1  20
c_1  30
a_2  2
b_2  56
c_2  70
d_2  2

并获得:

    _1   _2
a   12   2
b   20   56
c   30   70
d   0    2

非常感谢

这是使用 pivot 的一种方法:

(df.X.str.split(r'_', expand=True)
     .assign(y=df.Y.values)
     .pivot(0,1,'y')
     .fillna(0)
     .astype(int))

1   1   2
0        
a  12   2
b  20  56
c  30  70
d   0   2