Python 的 pandas 库中,DataFrame.eq() 方法用于逐元素地检查两个数据帧或一个数据帧与一个标量的相等性,返回一个布尔型 DataFrame,其中每个元素表示是否相等。本文主要介绍一下Pandas中pandas.DataFrame.eq方法的使用。

DataFrame.eq(self,other,axis ='columns',level = None)

dataframe与其他明确的元素进行等于比较(二进制运算符eq)。比较DataFrames元素是否相等。

在灵活的包装器(eq,ne,le,lt,ge,gt)之间进行比较。等效于==,=!,<=,<,> =,>,并支持选择轴(行或列)和级别进行比较。

参数

other  : scalar, sequence, Series, 或 DataFrame

任何单个或多个元素的数据结构,或类似列表的对象。

axis : {0或'index',1或'columns'},默认为'columns'

是按索引(0或“索引”)还是按列(1或“列”)进行比较。

level : 整数或标签

在一个级别上广播,在传递的MultiIndex级别上匹配索引值。

返回

布尔值的DataFrame

比较结果。

Notes

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

例子

1)比较两个 DataFrame

import pandas as pd

df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [1, 2, 0], 'B': [4, 0, 6]})

result = df1.eq(df2)
print(result)

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

import pandas as pd

# 创建数据帧
df = pd.DataFrame({'cost': [250, 150, 100],
                   'revenue': [100, 250, 300]},
                  index=['A', 'B', 'C'])
print("原始 DataFrame:")
print(df)

# 使用运算符或方法与标量进行比较
print("\n与标量 100 进行比较 (运算符 ==):")
print(df == 100)

print("\n与标量 100 进行比较 (方法 eq):")
print(df.eq(100))

3)使用方法控制广播轴

import pandas as pd

# 创建数据帧
df = pd.DataFrame({'cost': [250, 150, 100],
                   'revenue': [100, 250, 300]},
                  index=['A', 'B', 'C'])
print("原始 DataFrame:")
print(df)

# 当其他是 Series,一个数据帧的列与索引对齐后进行广播
print("\n与 Series 进行不等比较 (运算符 !=):")
print(df != pd.Series([100, 250], index=["cost", "revenue"]))

# 使用方法控制广播轴
print("\n使用方法控制广播轴 (ne 方法):")
print(df.ne(pd.Series([100, 300], index=["A", "D"]), axis='index'))

4)任意序列进行比较

import pandas as pd

# 创建数据帧
df = pd.DataFrame({'cost': [250, 150, 100],
                   'revenue': [100, 250, 300]},
                  index=['A', 'B', 'C'])
print("原始 DataFrame:")
print(df)

# 与任意序列进行比较
print("\n与序列 [250, 100] 进行比较 (运算符 ==):")
print(df == [250, 100])

print("\n使用方法控制轴与序列 [250, 250, 100] 比较:")
print(df.eq([250, 250, 100], axis='index'))

5)比较不同形状的 DataFrame

import pandas as pd

# 创建数据帧
df = pd.DataFrame({'cost': [250, 150, 100],
                   'revenue': [100, 250, 300]},
                  index=['A', 'B', 'C'])
print("原始 DataFrame:")
print(df)

# 比较不同形状的 DataFrame
other = pd.DataFrame({'revenue': [300, 250, 100, 150]},
                     index=['A', 'B', 'C', 'D'])
print("\n不同形状的 DataFrame 比较 (gt 方法):")
print("另一个 DataFrame:")
print(other)
print(df.gt(other))

6)按级别与 MultiIndex 进行比较

import pandas as pd

# 创建数据帧
df = pd.DataFrame({'cost': [250, 150, 100],
                   'revenue': [100, 250, 300]},
                  index=['A', 'B', 'C'])
print("原始 DataFrame:")
print(df)

# 按级别与 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']])
print("\nMultiIndex DataFrame 比较 (le 方法):")
print("MultiIndex DataFrame:")
print(df_multindex)
print(df.le(df_multindex, level=1))

推荐文档

相关文档

大家感兴趣的内容

随机列表