Python 为每个重复变量添加一个新列

Python 为每个重复变量添加一个新列,python,python-3.x,pandas,numpy,Python,Python 3.x,Pandas,Numpy,我正在尝试转换以下数据帧 df = pd.DataFrame ({'ID' : [125,125,130,130,130], 'X' : [2,1,2,1,3]}) df ID X 125 2 125 1 130 2 130 1 130 3 使用具有以下条件的新列(此df是我的孔数据集示例,仅用于说明我的问题): 为每个包含X df ID X X_1 X_2 125 2 1 NaN

我正在尝试转换以下数据帧

df = pd.DataFrame ({'ID' : [125,125,130,130,130],
                     'X' : [2,1,2,1,3]})

df

ID     X
125    2
125    1
130    2
130    1
130    3
使用具有以下条件的新列(此df是我的孔数据集示例,仅用于说明我的问题): 为每个包含
X

df

ID     X  X_1  X_2
125    2   1   NaN
130    2   1    3
也许试试这个?也许试试这个?
In [30]: (df.assign(col=df.groupby('ID').cumcount())
            .pivot_table(index='ID', columns='col', values='X', fill_value=0)
            .add_prefix('X_')
            .reset_index()
            .rename_axis(None,1))
Out[30]:
      ID  X_0  X_1  X_2
0    125    2    1    0
1    130    2    1    3