1 回答

TA貢獻1860條經驗 獲得超8個贊
創建MultiIndex
by GroupBy.cumcount
and DataFrame.set_index
,然后 reshape by DataFrame.unstack
and sortinf MultiIndex
in 列的第二級,然后用f-string
s 將其展平并將索引轉換為列:
df1 = (df.set_index(['Animal', df.groupby('Animal').cumcount().add(1)])
.unstack()
.sort_index(axis=1, level=1))
df1.columns = [f'{a}_' for a, b in df1.columns]
df1 = df1.reset_index()
print (df1)
Animal Age_1 Color_1 Length_1 Age_2 Color_2 Length_2 Age_3 Color_3 \
0 Cat 1 Brown 50cm 2 White 60cm 3 Brown
1 Dog 1 White 99cm 2 White 129cm 3 White
Length_3
0 55cm
1 105cm
添加回答
舉報