首页 > 解决方案 > 如何在 np.where 中创建迭代条件?

问题描述

我有需要检查条件的数据框df和列列表。cols_list

前任:cols_list = [cols1, cols2, col3]

我需要创建新列,如下所示,

df['new_col'] = np.where((df['cols1'] == 1) | (df['cols1'] == 1) | (df['cols1'] == 1), 1, 0)

我有多个cols_list不同长度的,如何(df['cols1'] == 1) | (df['cols1'] == 1) | (df['cols1'] == 1)为多个迭代创建这个条件cols_list

目前,我需要手动完成,因为cols_list有数百种,我正在寻找一种更好的方法来做到这一点!

标签: pythonpandasnumpy

解决方案


利用:

np.where((df[cols_list].eq(1).any(axis=1), 1, 0))

推荐阅读