当前位置: 移动技术网 > IT编程>脚本编程>Python > python 判断某个值是否存在于列表/数据框中,A in B ?

python 判断某个值是否存在于列表/数据框中,A in B ?

2020年11月12日  | 移动技术网IT编程  | 我要评论
持续更新总结ingA is in B 中 ?一、当A是字符串or数字,B也是一个值时, ==A = '8'B = 8A == B #False eval(A) == B #True字符串转数字: int(),或者eval()直接去除引号;数字转字符串:str()二、 当A是单个值,B是列表时, inA = 8B = [1,2,3]A in B >> False三、当A是单个值,B是pandas的Series时,a = pd.Series(['

持续更新总结ing

A in B ?

一、当A是字符串or数字,B也是一个值时, ==

A = '8'
B = 8

A == B  #False 
eval(A)  == B  #True

字符串转数字: int(),或者eval()直接去除引号;
数字转字符串:str()

二、 当A是单个值,B是列表时, in

A = 8
B = [1,2,3]
A in B  

>> False

三、当A是单个值,B是pandas的Series时,

a = pd.Series(['1','2','3','8','5'])
b = pd.Series([5,78,8,9])
c = a.astype('int64')

我们想用in来判断:

for i in b :   
    if i in c:        
        print('c列表里有:',i)  
        
>> #无结果

解决方案

方法一:当B是Series用in时一定要加values,否则就是在和B.index比较。

for i in b :   
    if i in c.values :        
        print('c列表里有:',i)  

>>  c列表里有: 5 
    c列表里有: 8

方法二: 采用any函数

for i in b :   
    if (i == c.values).any() :        
        print('c列表里有:',i)  
        
>> c列表里有: 5 
   c列表里有: 8
   

本文地址:https://blog.csdn.net/wenniewennie/article/details/109644957

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网