当前位置: 首页 > news >正文

【Pandas】pandas Series isin

Pandas2.2 Series

Computations descriptive stats

方法描述
Series.align(other[, join, axis, level, …])用于将两个 Series 对齐,使其具有相同的索引
Series.case_when(caselist)用于根据条件列表对 Series 中的元素进行条件判断并返回相应的值
Series.drop([labels, axis, index, columns, …])用于从 Series 中删除指定的行或列(对于 Series 来说,通常是删除行)
Series.droplevel(level[, axis])用于从多层索引(MultiIndex)的 Series 中删除指定的索引层级
Series.drop_duplicates(*[, keep, inplace, …])用于从 Series 中删除重复的值
Series.duplicated([keep])用于检测 Series 中的重复值
Series.equals(other)用于比较两个 Series 对象是否完全相等的方法
Series.first(offset)用于根据日期偏移量(offset)选择 Series 中时间序列数据的初始部分
Series.head([n])用于返回 Series 的前 n 个元素
Series.idxmax([axis, skipna])用于返回 Series 中最大值的索引
Series.idxmin([axis, skipna])用于返回 Series 中最小值的索引
Series.isin(values)用于检查 Series 中的每个元素是否存在于给定的值集合 values

pandas.Series.isin

当然,pandas.Series.isin(values) 方法用于检查 Series 中的每个元素是否存在于给定的值集合 values 中。这个方法返回一个布尔 Series,其中每个元素表示 Series 中对应位置的元素是否在 values 中。

详细描述

pandas.Series.isin(values) 方法的参数:

  • values: 一个列表、集合、Series 或其他可迭代对象,包含要检查的值。
返回值
  • 返回一个布尔 Series,其中每个元素为 TrueFalse,表示 Series 中对应位置的元素是否在 values 中。
示例代码
import pandas as pd

# 创建一个示例 Series
data = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
index = pd.date_range('2023-01-01', periods=10, freq='D')
series = pd.Series(data, index=index)

print("Original Series:")
print(series)

# 定义要检查的值
values_to_check = [20, 40, 60, 80]

# 使用 isin 方法检查 Series 中的元素是否在 values_to_check 中
isin_result = series.isin(values_to_check)
print("\nisin Result:")
print(isin_result)

# 使用 isin 方法的结果进行筛选
filtered_series = series[isin_result]
print("\nFiltered Series (only values in values_to_check):")
print(filtered_series)
结果输出
Original Series:
2023-01-01     10
2023-01-02     20
2023-01-03     30
2023-01-04     40
2023-01-05     50
2023-01-06     60
2023-01-07     70
2023-01-08     80
2023-01-09     90
2023-01-10    100
Freq: D, dtype: int64

isin Result:
2023-01-01    False
2023-01-02     True
2023-01-03    False
2023-01-04     True
2023-01-05    False
2023-01-06     True
2023-01-07    False
2023-01-08     True
2023-01-09    False
2023-01-10    False
Freq: D, dtype: bool

Filtered Series (only values in values_to_check):
2023-01-02    20
2023-01-04    40
2023-01-06    60
2023-01-08    80
dtype: int64
解释
  • series.isin(values_to_check) 返回一个布尔 Series,其中每个元素表示 series 中对应位置的元素是否在 values_to_check 中。
  • filtered_series 是通过布尔索引从 series 中筛选出的元素,这些元素在 values_to_check 中。
注意事项
  • values 可以是列表、集合、Series 或其他可迭代对象。
  • 如果 values 是一个集合,isin 方法的性能会更好,因为集合的查找操作平均时间复杂度为 O(1)。
示例:使用集合作为 values
# 使用集合作为 values
values_to_check_set = {20, 40, 60, 80}

# 使用 isin 方法检查 Series 中的元素是否在 values_to_check_set 中
isin_result_set = series.isin(values_to_check_set)
print("\nisin Result (using set):")
print(isin_result_set)
结果输出
isin Result (using set):
2023-01-01    False
2023-01-02     True
2023-01-03    False
2023-01-04     True
2023-01-05    False
2023-01-06     True
2023-01-07    False
2023-01-08     True
2023-01-09    False
2023-01-10    False
Freq: D, dtype: bool
解释
  • 使用集合作为 values 时,isin 方法的性能会更好。

相关文章:

  • Transformer技术报告:架构与原理
  • Node.js 入门
  • [LeetCode力扣hot100]-链表
  • 【Python pro】组合数据类型
  • 基于YOLO11深度学习的心脏超声图像间隔壁检测分割与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
  • Leetcode1299:将每个元素替换为右侧最大元素
  • 【DL】浅谈深度学习中的知识蒸馏 | 2019 CVPR | 中间层知识蒸馏
  • MQ导致的系统登录没反应
  • 根据POD名称生成 三部曲:get、describe、log、exec
  • DeepSeek部署到本地(解决ollama模型下载失败问题)
  • JAVA系列之数组的秘密(数组的一般用法+力扣 斯坦福大学练习精解)
  • 同花顺Java开发面试题及参考答案 (上)
  • 2025-2-18-4.7 二叉树(基础题)
  • C/C++ | 面试题每日一练 (1)
  • 【HBase】HBaseJMX 接口监控信息实现钉钉告警
  • 训练营3,
  • 第二章:16.3 构建决策树的过程
  • 统信服务器操作系统V20 1070A 安装docker新版本26.1.4
  • Unity项目实战-订阅者发布者模式
  • Day4:强化学习之Qlearning走迷宫
  • 2025上海科技节本周六启幕,机器人和科学家同走AI科学红毯
  • 西藏日喀则市拉孜县发生5.5级地震,震源深度10公里
  • 郎朗也来了,在辰山植物园“轻松听古典”
  • 上海证监局规范辖区私募经营运作,6月15日前完成自评自纠
  • 央行最新报告:积极落地5月推出的一揽子金融政策,促进经济供需平衡、物价合理回升
  • 外交部:习近平主席同普京总统达成许多新的重要共识