问题描述
我有一个调查回答为“是/否”的数据框。我想创建一个新的列/变量,它是“是”响应的总数。
我可以将所有的“是/否”替换为“ 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)