我有一个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','')
答案 0 :(得分:3)
我认为可以在此处添加另一个()
,例如:
df['Deletes'] = np.where((df['Index Membership'] == 'DAX') &
((df['MKT Rank'] > 35) | (df['Turnover Rank'] > 35)),'delete','')