一种有效的方法来计算多个列中的字符串值以创建新的总计列

问题描述

我有一个调查回答为“是/否”的数据框。我想创建一个新的列/变量,它是“是”响应的总数。

enter image description here

我可以将所有的“是/否”替换为“ 1/0”,然后使用:

df['total_variable'] = df.iloc[:,16:22].sum(axis=1)

或者我可以编写一个for循环。

但是我只是想知道是否还有其他有效的方法?

解决方法

取而代之的是用DataFrame.eq代替用Yes进行比较,然后用True来计数sum

df['total_variable'] = df.iloc[:,16:22].eq('Yes').sum(axis=1)

相关问答

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