gpt4 book ai didi

python - 将单元格中的多个值转换为列

转载 作者:行者123 更新时间:2023-12-03 08:31:17 24 4
gpt4 key购买 nike

我有一个具有以下结构的数据框:

First_Name  Last_Name  Group_Membership
Joe Francis A
Jane Davis B
Mary Smith A,B,C
Ian Brown A

我需要将单元格 Group_Membership 中的值转换为列并获取如下所示的数据框:

First_Name  Last_Name  A    B    C
Joe Francis Yes No No
Jane Davis No Yes No
Mary Smith Yes Yes Yes
Ian Brown Yes No No

我设法将 Group_Membership 列中的值转换为列表,然后“分解”它,但随后我应该以某种方式转置它

df.['Group_Membership'] = df.['Group_Membership'].str.split(',')
df.explode('Group_Membership')

现在我应该以某种方式旋转它。另外,我不确定这是最好的方法......

我们将非常感谢您的帮助!

最佳答案

首先创建一个辅助 DataFrame(ABC 列):

df2 = df.Group_Membership.str.split(',').explode().to_frame().assign(val='Yes')\
.pivot(columns='Group_Membership').droplevel(0, axis=1).fillna('No')

(打印出来查看内容)。

然后创建结果:

result = df[['First_Name', 'Last_Name']].join(df2)

结果是:

  First_Name Last_Name    A    B    C
0 Joe Francis Yes No No
1 Jane Davis No Yes No
2 Mary Smith Yes Yes Yes
3 Ian Brown Yes No No

关于python - 将单元格中的多个值转换为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65010273/

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