对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
也许不是最好的示例标签,但希望可以理解这一点 我也非常感谢您提供答案的链接。
答案 0 :(得分:2)
用GroupBy.cumcount
和DataFrame.set_index
创建MultiIndex
,然后用DataFrame.unstack
整形并在列中MultiIndex
的第二级上排序,然后用{{1 } s,然后将索引转换为列:
f-string