根据python

时间:2019-08-06 16:26:13

标签: python pandas dataframe multiple-columns

我有一个数据框,其中包含用于排名,组成,快速添加和快速删除的列。现在我想根据一个条件创建另一个列,称为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

0 个答案:

没有答案