将列交换为一行



这是df:

1//tr>2447
动物 名称 foo
Tiger
Tiger
Tiger
Tiger
Tiger
Tiger
fish Three
fish Three
fish 三个 54
fish Three
fish Three
fish Three

尝试:

df[""] = "foo" + (df.groupby(["Animal", "Name"]).cumcount() + 1).astype(str)
print(
df.pivot(index=["Animal", "Name"], columns="", values="foo").reset_index()
)

打印:

Animal   Name  foo1  foo2  foo3  foo4  foo5  foo6
0  Tiger    Two     3     4     5     6     7     8
1   fish  Three    31    42    54    64    74    87

最新更新