为了账号安全,请及时绑定邮箱和手机立即绑定

从多个变量的组合(是/否)中提取单个变量(是/否)

从多个变量的组合(是/否)中提取单个变量(是/否)

RISEBY 2023-12-26 15:52:47
假设我们有列+------+-----+-----+|  a+b | b+c | c+d |+------+-----+-----+| No   | yes | No  || Yes  | No  | No  || No   | No  | Yes |+------+-----+-----+如何从组合信息中获取它的个体    +-----+-----+-----+-----+    |  a  |  b  |  c  |  d  |    +-----+-----+-----+-----+    | no  | yes | yes | no  |    | yes | yes | no  | no  |    | no  | no  | yes | yes |    +-----+-----+-----+-----+我有大量数据,我不能继续对每个数据使用“或”条件。
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

您可以创建 2 个rename包含列的数据框,通过以下方式连接在一起concat,然后获取每个重复列的最大值:


d = {'No':0, 'yes':1, 'Yes':1, 'no':0}

df1 = df.rename(columns = dict(zip(df.columns, df.columns.str.split('+').str[0])))

df2 = df.rename(columns = dict(zip(df.columns, df.columns.str.split('+').str[1])))


df = pd.concat([df1, df2],axis=1).replace(d).max(axis=1, level=0).replace({0:'no', 1:'yes'})

print (df)

     a    b    c    d

0   no  yes  yes   no

1  yes  yes   no   no

2   no   no  yes  yes


查看完整回答
反对 回复 2023-12-26
  • 1 回答
  • 0 关注
  • 41 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信