pandas中isin()函数及其逆函数使用

您所在的位置:网站首页 panda的中文意思是什么 pandas中isin()函数及其逆函数使用

pandas中isin()函数及其逆函数使用

2023-08-03 22:27| 来源: 网络整理| 查看: 265

我使用这个函数就是用来清洗数据,删选过滤掉DataFrame中一些行。

布尔索引

这里你需要知道DateFrame中布尔索引这个东西,可以用满足布尔条件的列值来过滤数据,如下

>>> df=pd.DataFrame(np.random.randn(4,4),columns=['A','B','C','D']) >>> df A B C D 0 -0.018330 2.093506 -0.086293 -2.150479 1 0.104931 -0.271810 -0.054599 0.361612 2 0.590216 0.218049 0.157213 0.643540 3 -0.254449 -0.593278 -0.150455 -0.244485 >>> df.A>0#布尔索引 0 False 1 True 2 True 3 False Name: A, dtype: bool #布尔索引应用 >>> df[df.A>0] A B C D 1 0.104931 -0.271810 -0.054599 0.361612 2 0.590216 0.218049 0.157213 0.643540 >>> isin()

添加一列E

>>> df['E']=['a','a','c','b'] >>> df A B C D E 0 -0.018330 2.093506 -0.086293 -2.150479 a 1 0.104931 -0.271810 -0.054599 0.361612 a 2 0.590216 0.218049 0.157213 0.643540 c 3 -0.254449 -0.593278 -0.150455 -0.244485 b >>> df.E.isin(['a','c']) 0 True 1 True 2 True 3 False Name: E, dtype: bool >>> df.isin(['b','c'])#整个df也同样适用 A B C D E 0 False False False False False 1 False False False False False 2 False False False False True 3 False False False False True #应用 >>> df[df.E.isin(['a','c'])] A B C D E 0 -0.018330 2.093506 -0.086293 -2.150479 a 1 0.104931 -0.271810 -0.054599 0.361612 a 2 0.590216 0.218049 0.157213 0.643540 c >>>

isin()接受一个列表,判断该列中元素是否在列表中。

同时对多个列过滤,可以如下使用

df[df[某列].isin(条件)&df[某列].isin(条件)] #应用 >>> df.D=[0,1,0,2] >>> df[df.E.isin(['a','d'])&df.D.isin([0,])] A B C D E 0 -0.01833 2.093506 -0.086293 0 a

也可以 不推荐,你试一下就知道

df.isin({ '某列':[条件], '某列':[条件], }) #应用 >>> df.D=[0,1,0,2] >>> df A B C D E 0 -0.018330 2.093506 -0.086293 0 a 1 0.104931 -0.271810 -0.054599 1 a 2 0.590216 0.218049 0.157213 0 c 3 -0.254449 -0.593278 -0.150455 2 b >>> df[df.isin({'D':[0,3],'E':['a','d']})] A B C D E 0 NaN NaN NaN 0.0 a 1 NaN NaN NaN NaN a 2 NaN NaN NaN 0.0 NaN 3 NaN NaN NaN NaN NaN #没错这不适合选出一行 >>> df.isin({'D':[0,3],'E':['a','d']}) A B C D E 0 False False False True True 1 False False False False True 2 False False False True False 3 False False False False False isin()的逆函数

告诉你没有isnotin,它的反函数就是在前面加上 ~ ,其他用法同上。

这里人多,厚着脸皮自荐一个项目吧,主要面向数据分析、机器学习和大数据,https://github.com/josonle/Coding-Now

归纳总结了学习记录的一些笔记,视频资源,以及所看得一些电子书eBooks和平常收纳的一些自己认为比较好的博客、网站、工具。 面向爬虫、数据分析、机器学习及深度学习、大数据、算法、数据库等多个方面,项目一直维护,希望大家来赏个眼,谢谢 类似这些:在这里插入图片描述 在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3