跨多个列计算字符串值以创建新的总计列的有效方法
Efficient way to count string values across multiple columns to create new total column
我有一个包含 'Yes/No' 个回复的调查回复数据框。我想创建一个新的 column/variable,即“是”响应的总数。
我可以将所有 'Yes/No' 替换为“1/0”,然后使用:
df['total_variable'] = df.iloc[:, 16:22].sum(axis=1)
或者我可以写一个 for 循环。
但我只是想知道是否还有其他有效的方法来做到这一点?
而是用 DataFrame.eq
替换 Yes
的比较,然后用 sum
计算 True
s:
df['total_variable'] = df.iloc[:, 16:22].eq('Yes').sum(axis=1)
我有一个包含 'Yes/No' 个回复的调查回复数据框。我想创建一个新的 column/variable,即“是”响应的总数。
我可以将所有 'Yes/No' 替换为“1/0”,然后使用:
df['total_variable'] = df.iloc[:, 16:22].sum(axis=1)
或者我可以写一个 for 循环。
但我只是想知道是否还有其他有效的方法来做到这一点?
而是用 DataFrame.eq
替换 Yes
的比较,然后用 sum
计算 True
s:
df['total_variable'] = df.iloc[:, 16:22].eq('Yes').sum(axis=1)