本内容来自:https://gairuo.com

在 pandas 中, eq() ne() le() lt() ge() gt() 是用于比较操作的函数。这些函数可以用于 DataFrame 或 Series 的元素与指定值或另一个 DataFrame/Series 进行逐元素比较,并返回布尔值(True 或 False)的 DataFrame 或 Series。

eq、ne、le、lt、ge、gt 比较运算,相当于这些运算符号 == != <= < >= > ,支持选择轴(行或列)和级别进行比较。

DataFrame.eq(other, axis='columns', level=None)
DataFrame.ne(other, axis='columns', level=None)
DataFrame.le(other, axis='columns', level=None)
DataFrame.lt(other, axis='columns', level=None)
DataFrame.ge(other, axis='columns', level=None)
DataFrame.gt(other, axis='columns', level=None)

不匹配的索引标签将合并在一起。NaN 值被认为是不同的(即NaN!=NaN)。

  • other:要与 DataFrame 或 Series 进行比较的对象。可以是标量值、Series、DataFrame 或者列表等。
  • axis:指定比较的轴,默认为 'columns'。当使用 'index' 时,将按行进行比较;当使用 'columns' 时,将按列进行比较。
  • level:用于在 MultiIndex 对象中指定比较的层级,默认为 None
  • 这些方法返回与原始 DataFrame 或 Series 形状相同的布尔型 DataFrame 或 Series,表示每个元素的比较结果。

    这些比较方法在数据筛选、条件判断和数据清洗等场景中非常有用。例如,可以用来筛选出符合某些条件的行或列。

    df = pd.DataFrame({'cost': [250, 150, 100],
                       'revenue': [100, 250, 300]},
                      index=['A', 'B', 'C'])
       cost  revenue
    A   250      100
    B   150      250
    C   100      300
    

    使用运算符或方法与标量进行比较:

    df == 100
        cost  revenue
    A  False     True
    B  False    False
    C   True    False
    df.eq(100)
        cost  revenue
    A  False     True
    B  False    False
    C   True    False
    

    当other是Series时,DataFrame的列与other和broadcast的索引对齐:

    df != pd.Series([100, 250], index=["cost", "revenue"])
        cost  revenue
    A   True     True
    B   True    False
    C  False     True
    

    使用以下方法控制广播轴:

    df.ne(pd.Series([100, 300], index=["A", "D"]), axis='index')
       cost  revenue
    A  True    False
    B  True     True
    C  True     True
    D  True     True
    

    当与任意序列进行比较时,列的数量必须与其他序列中的数字元素匹配:

    df == [250, 100]
        cost  revenue
    A   True     True
    B  False    False
    C  False    False
    

    使用以下方法控制轴:

    df.eq([250, 250, 100], axis='index')
        cost  revenue
    A   True    False
    B  False     True
    C   True    False
    

    与不同形状的DataFrame进行比较。

    other = pd.DataFrame({'revenue': [300, 250, 100, 150]},
                         index=['A', 'B', 'C', 'D'])
    other
       revenue
    A      300
    B      250
    C      100
    D      150
    df.gt(other)
        cost  revenue
    A  False    False
    B  False    False
    C  False     True
    D  False    False
    

    按级别与MultiIndex进行比较。

    df_multindex = pd.DataFrame({'cost': [250, 150, 100, 150, 300, 220],
                                 'revenue': [100, 250, 300, 200, 175, 225]},
                                index=[['Q1', 'Q1', 'Q1', 'Q2', 'Q2', 'Q2'],
                                       ['A', 'B', 'C', 'A', 'B', 'C']])
    df_multindex
          cost  revenue
    Q1 A   250      100
       B   150      250
       C   100      300
    Q2 A   150      200
       B   300      175
       C   220      225
    df.le(df_multindex, level=1)
           cost  revenue
    Q1 A   True     True
       B   True     True
       C   True     True
    Q2 A  False     True
       B   True    False
       C   True    False
    

    我们构造一个简单的 DataFrame,用于演示这些比较方法的使用。

    import pandas as pd
    # 构造示例数据
    data = {
        'A': [1, 2, 3, 4, 5],
        'B': [5, 4, 3, 2, 1],
        'C': [10, 20, 30, 40, 50]
    df = pd.DataFrame(data)
    # 输出示例数据
    print("示例数据:\n", df)
    

    1. eq() 等于比较

    eq() 方法用于判断 DataFrame 中的元素是否等于指定值或另一个 DataFrame/Series 中的对应元素。

    result_eq = df.eq(3)
    print("eq() 等于比较结果:\n", result_eq)
    示例数据:
       A  B   C
    0  1  5  10
    1  2  4  20
    2  3  3  30
    3  4  2  40
    4  5  1  50
    eq() 等于比较结果:
           A      B      C
    0  False  False  False
    1  False  False  False
    2   True   True  False
    3  False  False  False
    4  False  False  False
    

    2. ne() 不等于比较

    ne() 方法用于判断 DataFrame 中的元素是否不等于指定值或另一个 DataFrame/Series 中的对应元素。

    result_ne = df.ne(3)
    print("ne() 不等于比较结果:\n", result_ne)
    ne() 不等于比较结果:
           A     B     C
    0   True  True  True
    1   True  True  True
    2  False False  True
    3   True  True  True
    4   True  True  True
    

    3. le() 小于等于比较

    le() 方法用于判断 DataFrame 中的元素是否小于等于指定值或另一个 DataFrame/Series 中的对应元素。

    result_le = df.le(3)
    print("le() 小于等于比较结果:\n", result_le)
    le() 小于等于比较结果:
           A      B      C
    0   True  False   True
    1   True  False   True
    2   True   True   True
    3  False   True  False
    4  False   True  False
    

    4. lt() 小于比较

    lt() 方法用于判断 DataFrame 中的元素是否小于指定值或另一个 DataFrame/Series 中的对应元素。

    result_lt = df.lt(3)
    print("lt() 小于比较结果:\n", result_lt)
    lt() 小于比较结果:
           A      B      C
    0   True  False   True
    1   True  False   True
    2  False  False  False
    3  False   True  False
    4  False   True  False
    

    5. ge() 大于等于比较

    ge() 方法用于判断 DataFrame 中的元素是否大于等于指定值或另一个 DataFrame/Series 中的对应元素。

    result_ge = df.ge(3)
    print("ge() 大于等于比较结果:\n", result_ge)
    ge() 大于等于比较结果:
           A      B      C
    0  False   True  False
    1  False   True  False
    2   True   True   True
    3   True  False   True
    4   True  False   True
    

    6. gt() 大于比较

    gt() 方法用于判断 DataFrame 中的元素是否大于指定值或另一个 DataFrame/Series 中的对应元素。

    result_gt = df.gt(3)
    print("gt() 大于比较结果:\n", result_gt)
    gt() 大于比较结果:
           A      B      C
    0  False   True  False
    1  False   True  False
    2  False  False  False
    3   True  False   True
    4   True  False   True
    

    这些比较方法在数据分析中非常常用,尤其是在需要进行条件过滤和判断时。通过这些方法,可以轻松地对 DataFrame 或 Series 中的数据进行逐元素比较,进而筛选出符合条件的数据。

  • https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.lt.html
  • 入门 pandas
  • pandas 中文简介
  • 安装及环境搭建
  • 安装 pandas
  • 快速入门
  • 数据结构
  • NumPy 基础用法
  • 生成数据对象
  • 序列 Series
  • 数据框 DataFrame
  • 数据类型 dtypes
  • pandas 功能介绍
  • 文件读取和导出 有更新
  • 索引 Indexing 有更新
  • 数据的信息 有更新
  • 数学统计
  • 求值计算 有更新
  • 查询筛选数据 有更新
  • 数据类型转换 有更新
  • 数据排序 有更新
  • 数据添加修改
  • 删除数据
  • 数据迭代
  • 函数应用
  • 多层索引 MultiIndex
  • 多层次索引 MultiIndex
  • 创建分层索引对象
  • 多层索引对象的操作
  • 多层索引数据查询
  • 多层索引的分组
  • 数据合并场景和操作 有更新
  • 数据连接 concat
  • 多文件数据合并
  • 数据追加 df.append
  • 连接数据 pd.merge 有更新
  • 时序数据合并
  • 逐元素合并
  • 数据对比
  • 数据清洗操作
  • 缺失值的判定
  • 缺失值参与计算
  • 缺失值填充
  • 缺失值删除
  • 插值填充
  • 数据替换
  • 缺失值 NA 标量
  • 重复值
  • pandas 的聚合分组
  • Group By 基础使用
  • 分组对象及创建
  • 分组聚合统计
  • 分组应用函数
  • 分组对象的操作
  • 分组器 Grouper 有更新
  • 数据分箱
  • 数据重塑透视
  • pandas 重塑透视 有更新
  • 数据透视 Pivot Table 有更新
  • 数据堆叠 Stack 有更新
  • 交叉表 Crosstab
  • 数据融合 Melt 有更新
  • 虚拟变量/哑变量
  • 数据转置 df.T
  • 因子化(枚举化)值
  • 爆炸序列 有更新
  • 转为 NumPy ndarray
  • pandas 时间日期
  • 时间基本概念
  • 时间序列数据类型
  • 固定时间
  • 时间的属性操作
  • 时间类型转换
  • 时间范围
  • 时间序列索引
  • 时序数据方法
  • 时间偏移
  • 时间偏移对象
  • 序列、索引和时间偏移
  • 自定义工作日
  • 时间偏移量别名
  • 锚定偏移
  • 假期日历
  • 时间增量/时长
  • 时长频率单位转换
  • 时长的属性
  • 时长索引
  • 时间跨度
  • 周期的操作
  • 周期类型及转换
  • 周期索引
  • 超出时间戳范围时间
  • 时间重采样 有更新
  • 时间类型之间的转换
  • 时区
  • 区间间隔 Interval
  • pandas 文本处理
  • 文本数据类型
  • 字符的操作方法
  • 文本分割
  • 文本替换
  • 文本连接
  • 文本查询匹配
  • 文本常用方法
  • pandas 样式
  • 内置样式
  • 显示格式
  • 样式配置操作
  • 样式应用函数
  • 带样式文件的导出
  • pandas 可视化
  • Plot 绘图
  • Plotting 绘图模块
  • 使用 Bokeh 可视化
  • matplotlib pyplot 绘图功能
  • 使用 Plotly 可视化
  • Pyecharts 可视化绘图库
  • pandas 分类数据
  • 分类数据创建
  • 分类数据的使用
  • 分类数据的顺序
  • 分类数据的操作
  • 分类数据处理
  • 类别数据的读取
  • pandas 窗口计算
  • 移动窗口函数 rolling
  • 时间类型移动窗口
  • 扩展窗口函数 expanding
  • 函数 api
  • pandas.read_csv
  • pandas.read_excel
  • 方法函数详细介绍
  • 相关配置
  • 异常和警告
  • 函数 api 大全
  • 生成测试数据
  • 超大数据处理 有更新
  • 链式方法
  • pandas 应用案例 有更新
  • pandas 练习题 有更新
  • pandas 速查手册
  • pandas 简明课程
  • 教程更新日志
  •