Python Pandas透视:如何在第一列中分组,并为第二列中的每个唯一值创建一个新列



我在Python中使用panda,并尝试转换数据帧。我有一个这样的数据帧:

第2列
第1列
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

最新更新