【Python系列】isin用法

CSDN 2024-07-31 08:35:01 阅读 53

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

img

推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航

檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

1. `isin` 函数的作用2. `isin` 函数的用法2.1 基本用法2.2 用于 `DataFrame`2.3 多列检查2.4 反向检查

3. 注意事项3.1 性能问题3.2 可哈希性3.3 空值处理3.4 与 `in` 操作符的区别

4. 总结

<code>isin 是 Python 中 pandas 库的一个函数,它用于检查 pandas 数据结构中的元素是否存在于给定的序列中。pandas 是一个强大的数据分析和操作库,广泛用于处理表格数据。以下是 isin 函数的用法和注意事项。

在这里插入图片描述

1. <code>isin 函数的作用

isin 函数用于对 pandas 序列(如 SeriesDataFrame 的列)中的每个元素进行检查,看它是否存在于一个给定的序列中。如果元素存在于序列中,isin 会返回 True,否则返回 False。返回的结果是一个布尔类型的 SeriesDataFrame

2. isin 函数的用法

2.1 基本用法

假设我们有一个 pandas Series,我们想检查其中的值是否在另一个列表中:

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

result = s.isin([3, 4])

print(result) # 输出: 0 False

# 1 False

# 2 False

# 3 True

# 4 True

在这个例子中,result 是一个新的布尔 Series,表示原始 Series 中的每个元素是否在列表 [3, 4] 中。

2.2 用于 DataFrame

isin 也可以用于 DataFrame 的列:

df = pd.DataFrame({

'A': [1, 2, 3, 4],

'B': [5, 6, 7, 8]

})

values = [2, 4]

result = df.isin(values)

print(result)

这将返回一个布尔 DataFrame,其中每个元素表示原始 DataFrame 中相应位置的元素是否在 values 列表中。

2.3 多列检查

如果你想在多个列中进行 isin 检查,可以传递一个字典,其中键是列名,值是对应的值列表:

values = { 'A': [2, 4], 'B': [6, 8]}

result = df.isin(values)

2.4 反向检查

isin 函数还可以与 ~ 操作符结合使用,来检查哪些元素不在给定的序列中:

result = ~s.isin([3, 4])

这将返回一个布尔 Series,表示原始 Series 中的每个元素是否不在列表 [3, 4] 中。

3. 注意事项

3.1 性能问题

当使用 isin 函数时,如果检查的序列很大,可能会影响性能。在这种情况下,考虑优化数据或使用更高效的数据结构。

3.2 可哈希性

isin 函数要求检查的序列中的元素必须是可哈希的,因为它们将被用作字典的键。

3.3 空值处理

isin 函数在处理空值(NaN)时,会将它们视为不在任何序列中,即使序列中包含 NaN

3.4 与 in 操作符的区别

isinpandas 特有的函数,与 Python 的 in 操作符不同。in 用于检查单个元素是否存在于序列中,而 isin 用于检查 pandas 序列中的所有元素。

在这里插入图片描述

4. 总结

<code>isin 是 pandas 中一个非常有用的函数,用于快速检查数据结构中的元素是否存在于给定的序列中。它提供了灵活的用法,可以应用于 SeriesDataFrame,并且可以处理复杂的数据检查任务。

觉得有用的话点个赞 👍🏻 呗。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。