问题描述
因此,基于此图像,我想将所有二进制变量都转换为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 (将#修改为@)