我有一个数据框,其中包含用于排名,组成,快速添加和快速删除的列。现在我想根据一个条件创建另一个列,称为replacement add,该条件是如果快速删除列在该列中的任何位置(不仅在特定行,而且在整列中的任何地方)都有删除,然后在新列中添加“是”根据组成列为否的条件,并选择低于40的排名(基于快速删除的数量)。
rank consituent fast add fast delete
40 yes no no
41 yes no no
42 no no no
43 yes no no
44 no no no
45 yes no no
60 yes no yes
61 yes no yes
下面是尝试过的内容,但不包括查看有多少个快速删除的逻辑,并且不捕获40以下的第一个或第二个非组成部分(我相信下面的代码是完全错误的,因此需要帮助!)
df['Replacement add'] = np.where(df['fast delete?'] == 'yes') & (df['consituent?'] == 'no') & (df['Rank'] <= 50),'yes','no')
预期结果如下。我希望根据有多少个快速删除来填写替换添加,因此在下面的示例中,我有2个快速删除,因此应该有2个替换添加(如果1个快速删除则只有一个替换添加(等级42),等等) 。如果有人可以帮助我,将不胜感激。谢谢!
rank consituent fast add fast delete Replacement add
40 yes no no no
41 yes no no no
42 no no no yes
43 yes no no no
44 no no no yes
45 yes no no no
60 yes no yes no
61 yes no yes no