gpt4 book ai didi

numpy - Pandas 不在,在和之间

转载 作者:行者123 更新时间:2023-12-04 13:13:05 24 4
gpt4 key购买 nike

pd。 版本
'0.14.0'

我需要对数据框中的列执行 not in 语句。

对于 isin 语句,我使用以下内容来过滤我需要的代码:

h1 = df1[df1['nat_actn_2_3'].isin(['100','101','102','103','104'])]

我想为另一列执行 not in 或 not equal to (不确定哪个用于 python)语句。

所以我尝试了以下方法:
h1 = df1[df1['csc_auth_12'].notin(['N6M','YEM','YEL','YEM'])]

h1 = df1[df1['csc_auth_12'] not in (['N6M','YEM','YEL','YEM'])]

和:
h1.query(['N6M','YEM','YEL','YEM'] not in ['csc_auth_12'])

我真的很想从数据集中过滤掉 N6M、YEM、YEL 和 YEM。

我也对如何做一个 between 语句感兴趣。

因此,对于以下内容,我必须手动输入所有 500 个代码。我想做类似的事情:
h1 = df1[df1['nat_actn_2_3'].isin['100','102'] and isbetween [500 & 599])]

但这就是我所拥有的:
h1 = df1[df1['nat_actn_2_3'].isin(['100','101','102','103','104','107','108','112','115','117','120','122','124','128',
'130','132','132','140','141','142','143','145','146','147','148','149','170','171',
'172','173','179','190','198','199','501','502','503','504','505','506','507','508',
'509','510','511','512','513','514','515','516','517','518','519','520','521','522',
'523','524','525','526','527','528','529','530','531','532','533','534','535','536',
'537','538','539','540','541','542','543','544','545','546','547','548','549','550',
'551','552','553','554','555','556','557','558','559','560','561','562','563','564',
'565','566','567','568','569','570','571','572','573','574','575','576','577','578',
'579','580','581','582','583','584','585','586','587','588','589','590','591','592',
'593','594','595','596','597','598','599','702','721','740','953','955'])]

有什么建议?

谢谢。

最佳答案

使用 ~ 否定 bool 条件反转掩码:

h1 = df1[~df1['nat_actn_2_3'].isin(['100','101','102','103','104'])]
notinnot in ,前者不存在,后者可能会引发 ValueError或当您尝试使用时出现不明确的值错误 in使用数组和 Pandas 不能那样工作。

对于第二个问题,您需要像这样复合 bool 条件:
h1 = df1[(df1['nat_actn_2_3'].isin['100','102']) | ((df1['nat_acctn_2_3'] > 500) & (df1['nat_actn_2_3'] < 599))]

所以我假设从你的文本中你想要等于 100/102 或 500 和 599 之间的行(不清楚你是否包括这些值,但你可以分别更改为 >=<=)。

在这里您使用按位运算符 &|andor分别,您还需要包装 ()由于运算符优先级,围绕每个条件

关于numpy - Pandas 不在,在和之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32980087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com