在python中基于条件创建另一列

2024-09-29 21:43:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧列的排名,一致性,快速添加和快速删除。现在我想根据一个条件创建另一个名为replacement add的列,即如果fast delete列在该列的任何位置(不仅在特定行,而且在整个列的任何位置)有一个delete,然后根据consistuent column为no的条件将“yes”放在新列中,并选择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


Tags: 数据noadddfcolumn条件deleteyes

热门问题