Pandas中Series或者DataFrame判断某个元素是否在存在

首先来看一道题:

from pandas import Series,DataFrame
data = {'language':['Java','PHP','Python'],'year':[1995,1995,1991]}
frame = DataFrame(data)
frame['IDE'] = Series(['Intellij','Notepad','IPython'])
'IPython' in frame['IDE']  
#会输出什么

一不留神,以为会输出True,但是结果是False,为什么呢?

我也不知道,不过做了个这样的实验:

'IPython' in frame['IDE']
#输出False

3 in frame['IDE']
#输出True

#猜测 'IPython' in frame['IDE'] <=> 'IPython' in frame['IDE'].index
#所以理所当然会输出False
#注:并不意味着frame['IDE'] == frame['IDE'].index,只是说两句代码在in中效果差不多

#正确判断方法
'IPython' in frame['IDE'].values
#输出True

 

你可能感兴趣的:(Python)