python - 对现有数据框创建多个条件列
问题描述
我是 Python 建模的新手,从 Excel 切换以试图节省大量数据的时间。我对一件事情感到非常沮丧,特别是,这似乎应该是最简单的事情;
问题:我正在尝试从现有列在现有 df 中创建新的多条件列。我对一个条件没有问题,
例如
df['bsig'] = np.where(df['roc'] == eu20['mom30h'],1,0)
但我似乎无法弄清楚多个条件。我试过了;
np.where(np.logical_and(df['bsig']==1, df['c+1']>df['Close'])),1,0
np.where(np.logical_and(df['bsig']==1, df['c+1']>df['Close']).all()),1,0
np.where(df['bsig'] ==1) and np.where(df['c+1']>df['Close']),1,0
在我得到的一系列错误中,“值的长度 (3) 与索引的长度 (5004) 不匹配”是最常见的。
有人愿意帮助我吗?
解决方案
非常感谢您的帮助。我曾多次尝试将“and”更改为“&”,但是,错误可能是我的整体括号布局。
修复是:
np.where( (df['bsig'] ==1) & (df['c+1'] > df['Close'] ) ,1,0)
周末愉快!
推荐阅读
- r - 德雷克中的可选依赖项?
- python - 使用 tkinter 保存多个屏幕截图
- nao-robot - “choregraphe-suite-2.8.6.23-mac64-setup”无法打开,因为无法验证开发者
- java - 表示一组键值对的类 - On 1D Array JAVA
- html - HTML - Show an element automatically from a file input
- c# - 如何创建一个可以被另一个类用点表示法调用的方法
- javascript - 如何在 mongodb 中自动删除 ObjectId 引用
- r - 如何一次性更改数据框中的两个特定组
- c# - C# SQL 连接 ODBC 或 OLEDB
- javascript - 类变量的正确类型(例如 fArr = Uint32Array)