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 中的对应元素。