如何为多种类型的类别自动执行二进制分配?

问题描述

enter image description here

因此,基于此图像,我想将所有二进制变量都转换为1 vs0。我可以手动执行此操作,但这可能并不总是可行的。

对于单个字段,我总是可以做到的

df['Partner'][df['Partner'] == 'Yes'] = 1
df['Partner'][df['Partner'] == 'No'] = 0

但是,如果我想进行多种类型的分类,例如“是/否”,“女性/男性”,甚至允许该过程保持“ 1/0”不变,那么最可能是有效的方法?

我试图让人联想到的东西,但不能完全到达那里可能看起来像这样:

for key in df.columns:
    df[key] = df[key].map({['Female' or 'Yes']: 1,['Male' or 'No']: 0})

也许我可以为1/0添加另一个条件,或者我可以使用if语句仅将其分配给尚未包含1/0的列。但是最终希望以最有效的方式做到这一点。

谢谢!

更新:我认为以下代码可以工作,但希望能提供一些见解/建议/建议,以提高其效率/更好。

for key in bi_cs:
    val1 = dat_rad[key].sort_values().iloc[0]
    val2 = dat_rad[key].sort_values().iloc[-1]
    dat_rad[key] = dat_rad[key].map({val2:1,val1:0})

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...