gpt4 book ai didi

python - Pandas : Pivot row into column

转载 作者:行者123 更新时间:2023-12-02 01:25:46 25 4
gpt4 key购买 nike

以下是我的数据的最小示例:

   Id name class_cd class_name
0 1 A abc1 dog
1 1 A def2 canine
2 1 A ghi1 safe
3 2 B abc1 cat
4 2 B def2 tabby

可以通过以下方式复制:

df = pd.DataFrame({
'Id': [1, 1, 1, 2, 2],
'name':['A', 'A', 'A', 'B', 'B'],
'class_cd': ['abc1', 'def2', 'ghi1', 'abc1', 'def2'],
'class_name': ['dog', 'canine', 'safe', 'cat', 'tabby']
})

我希望 class_cd 不同值成为新列,其中值是关联的 class_name,这样结果对于每个 id< 都包含一行.

预期结果:

    Id  name    abc1    def2    ghi1
0 1 A dog canine safe
1 2 B cat tabby

如何使用 Pandas 实现这一目标?

最佳答案

这是 pivot 的工作.

您告诉它要扩展哪些列,以及要在这些新列中放入哪些值。它将使用指定索引中的唯一值来创建结果中的行。

>>> df.pivot(index=['Id','name'], columns='class_cd', values='class_name')
class_cd abc1 def2 ghi1
Id name
1 A dog canine safe
2 B cat tabby NaN

然后,您可以调用reset_index()将多重索引展平为列。

class_cd  Id name abc1    def2  ghi1
0 1 A dog canine safe
1 2 B cat tabby NaN

关于python - Pandas : Pivot row into column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74721264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com