我在《Pandas》中有两个栏目:销售代理和交易阶段?

2024-03-29 10:38:03 发布

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

我有两列sales_agent和deal_stage,sales_agent包含代理名称,deal_stage包含3个不同的值,如lost、won和in_progress

我想找到所有在交易阶段从未失败的销售代理。 我试过这个

nine=products_pipeline_and_teams[~(products_pipeline_and_teams['deal_stage']=='Lost')]

但它只是显示销售代理已赢得或正在进行,我想找到从未“失去”价值的销售代理


0条回答
网友
1楼 · 发布于 2024-03-29 10:38:03

当您运行已有的代码时,您将遍历每一行,并根据dead_stage列值决定是否保留该行。正如您所说,这将显示值为其他值的行。如果我理解正确的话,你是在试图过滤掉曾经输过的经纪人——因此,如果经纪人赢过也输过,我们还想删除赢过的那一行

您可以通过制作一个losers列表,然后在该列表上过滤您的数据帧,这些数据帧将是曾经丢失过的人的名字来实现这一点

losers = list(df['agent'][df['deal_stage']=='Lost']) # this makes a list of values in the agent column, based off of if the value in 'deal_stage' is lost
df = df[~df['agent'].isin(losers)] # this returns all columns, but filtered to where the 'agent' column only has values that are not in the losers list

相关问题 更多 >