【发布时间】:2019-09-10 09:44:47
【问题描述】:
我有一个 df,其中包含股票列表、指数成员、市值、市值排名、营业额和营业额排名。
我需要创建另一个名为“删除”的列,它将根据一些条件删除股票。
使用 & 和 | 的条件列表
当前索引成员必须等于 DAX 和
市值排名必须大于 35 或
营业额排名必须大于35
以下代码在指数成员 = dax 且市值排名 > 35 时有效,但在指数成员 = dax 且营业额 > 35 时无效。相反,它只查看营业额是否大于 35 而不是指数会员资格 = dax。
使用下面的代码,我的结果是在新创建的“删除”列中将一只股票显示为删除,因为它的营业额排名是 79,但索引成员资格是 MDAX 而不是 DAX。第一个条件必须满足,但在这种情况下不是。
谁能帮帮我
df['Deletes'] = np.where((df['Index Membership'] == 'DAX') & (df['MKT Rank'] > 35) | (df['Turnover Rank'] > 35),'delete','')
【问题讨论】:
-
检查优先规则。
标签: python pandas numpy filter