DataFrame.le() 方法用于逐元素地比较一个 DataFrame 和另一个 DataFrame、Series 或标量值(scalar),并返回布尔值 DataFrame,表示每个元素是否小于或等于另一个对象的对应元素。本文主要介绍一下Pandas中pandas.DataFrame.le方法的使用。

DataFrame.le(self, other, axis='columns', level=None)            [source]

获取小于或等于dataframe和其他逐元素(二进制运算符le)。
在灵活的包装器(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 与标量值(scalar)比较

import pandas as pd

df = pd.DataFrame({'A': [1, 4, 3], 'B': [2, 5, 6]})
print(df.le(3))  # 判断每个元素是否 ≤ 3

2)DataFrame 与 Series 比较

import pandas as pd


df = pd.DataFrame({'A': [1, 4, 3], 'B': [2, 5, 6]})
s = pd.Series([2, 4], index=['A', 'B'])
print(df.le(s, axis=1))  # 按列对比

3)DataFrame 之间的比较

import pandas as pd


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

4)DataFrame 与 NumPy 数组比较

import pandas as pd
import numpy as np


df = pd.DataFrame({'A': [1, 4, 3], 'B': [2, 5, 6]})
arr = np.array([[2, 2], [4, 4], [3, 6]])
print(df.le(arr))

5)与任意序列比较时,列数必须与 other 中的元素数匹配

import pandas as pd

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

# 与任意序列比较时,列数必须与 other 中的元素数匹配
print(df.le([250, 100]))  
# 结果:
#     cost  revenue
# A   True     True
# B   True    False
# C   True    False

6)使用 axis 控制轴(按行比较)

import pandas as pd

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


# 使用 axis 控制轴(按行比较)
print(df.le([250, 250, 100], axis='index'))  
# 结果:
#     cost  revenue
# A   True    False
# B   True     True
# C   True     True

7)比较不同形状的 DataFrame

import pandas as pd

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

# 比较不同形状的 DataFrame
other = pd.DataFrame({'revenue': [300, 250, 100, 150]}, 
index=['A', 'B', 'C', 'D'])
print(df.le(other))  
# 结果:
#     cost  revenue
# A  False     True
# B   True     True
# C   True     True
# D  False    False

8)按级别与 MultiIndex 进行比较

import pandas as pd

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

# 按级别与 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(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

推荐文档

相关文档

大家感兴趣的内容

随机列表