大熊猫不在里面,之间和之间

戴夫

页码 版本“ 0.14.0”

我需要为数据框中的列做一个not in语句。

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

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

我想为另一列做一个不等于或不等于(不确定哪个用于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。

我也对如何做一个之间的声明感兴趣。

因此,对于以下内容,我不得不手动键入所有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'])]

有什么建议么?

谢谢。

埃德·楚姆

取反布尔值条件~以反转掩码:

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

notinnot in,前者不存在,而后者可能会引发一个ValueError或模棱两可的值错误,因为您正尝试in与数组一起使用,而pandas不能那样工作。

对于第二个问题,您需要像这样复合布尔条件:

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之间的行(不清楚是否要包含这些值,但可以分别更改为>=<=)。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以在里面枚举值之间进行映射?

追加和大熊猫中的位置之间的差异

大熊猫.iloc和.iat之间的区别?

symfony 找到了文件但是类不在里面

线串大熊猫之间的距离

宏是否在里面?

2和如果DF之间检查相同的模式和使用GROUPBY在大熊猫

大熊猫之间的差异与how ='outer'合并,大熊猫追加

在大熊猫groupby对象中的n和n + 1行之间平均?

大熊猫与阴囊之间的偏斜和峰态功能有什么区别?

大熊猫中的read_table和read_csv之间有区别吗?

日期和整数之间的相关性(大熊猫)?时间序列

大熊猫中的Series.replace()和Series.map()之间有区别吗?

大熊猫在很多列之间进行成对差异

以大熊猫分组的大小不同的组之间的差异

大熊猫统计功能与boost :: accumulators之间的区别

大熊猫数字之间的差异的平均值

大熊猫:两列中的值之间的随机整数

两排大熊猫之间的差异

第一个孩子不在里面工作:悬停

在里面解压numpy数组

虽然在里面 else 在里面而不是在 Python 中打破

无法使用“&lt;”编译C#代码 和“&gt;” 在里面

大熊猫中的Series.str.contains(“ |”)`和Series.apply(lambda x:“ |” in x)之间的区别?

(Ajax) 在另一个 ajax 请求的 succes 里面的代码之后执行一个 ajax 请求(不在里面)

我如何用|执行shell命令。管在里面

承诺所有列表并在里面追加

使用“。”访问pandas.DataFrame列名。在里面

@RequestBody 可以在里面传递空值吗?