python - 如何在 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
有数百种,我正在寻找一种更好的方法来做到这一点!
解决方案
利用:
np.where((df[cols_list].eq(1).any(axis=1), 1, 0))
推荐阅读
- angular - Angular9 debugElement.classes['my-class'] 现在返回 undefined
- ios - sceneView.delegate 和 sceneView.session.delegate 有什么区别?
- reactjs - 如何测试使用 React Hooks useHistory hook 和 Enzyme 的 React 组件?
- javascript - AddEventListener 到 svg 文件,而不是使其可点击的按钮
- multithreading - Allure 支持运行线程测试
- php - 无法在存档页面上显示侧边栏(Wordpress、Elementor Pro+GeneratePress)
- android - 重新启用定位服务
- youtube-api - 使用“mine”参数向 /youtube/v3/channels 请求返回一个空列表
- python - 将 Python 字典中的 JSON 值累积为数组
- javascript - Javascript - 无法访问 HTMLCollection 的项目?