我正在尝试转换以下数据框
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
答案 0 :(得分:2)
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