根据列中的重复值重塑熊猫数据框

时间:2020-05-19 13:06:29

标签: python pandas

对Pandas来说是新手,可能在某处得到了答复,但我似乎找不到确切的所需信息。假设我的数据集具有这种类型的结构

Animal |  Age  |  Color  | Length

Cat       1       Brown       50cm
Cat       2       White       60cm
Cat       3       Brown       55cm
Dog       1       White       99cm
Dog       2       White       129cm
Dog       3       White       105cm

对于特定的动物,我如何最轻松地将其转换为这种格式,即将现有列水平地附加,而不是垂直地排序

Animal |  Age_1  |  Color_1  | Length_1 |  Age_2 | Color_2 | Length_2 | Age_3 | Color_3 | Length_3

Cat       1        Brown       50cm         2       White      60cm       3       Brown      55cm
Dog       1        White       99cm         2       White      129cm      3       White      105cm

也许不是最好的示例标签,但希望可以理解这一点 我也非常感谢您提供答案的链接。

1 个答案:

答案 0 :(得分:2)

GroupBy.cumcountDataFrame.set_index创建MultiIndex,然后用DataFrame.unstack整形并在列中MultiIndex的第二级上排序,然后用{{1 } s,然后将索引转换为列:

f-string