欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-09-21 14:34:20
持续更新总结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