我在Python中使用panda,并尝试转换数据帧。我有一个这样的数据帧:
第1列 | 第2列|
---|---|
1 | 22 |
1 | 23 |
2 | 34 |
2 | 35 |
2 | 36 |
3 | 49 |
TRY:
df = (
df.assign(
temp=df.groupby('Column 1').cumcount() + 1
)
.pivot_table(
index='Column 1',
columns='temp',
values='Column 2')
.add_prefix('Column 2_')
.rename_axis(columns=None)
.reset_index()
)
正如@Henry所建议的,您可以直接将系列传递给pivot_table
:
df = (
df.pivot_table(
index='Column 1',
columns=df.groupby('Column 1').cumcount() + 1,
values='Column 2')
.add_prefix('Column 2_')
.reset_index()
)
输出:
Column1 Column2_1 Column2_2 Column2_3
0 1 22.0 23.0 NaN
1 2 34.0 35.0 36.0
2 3 49.0 NaN NaN