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