目录
一、用法精讲
781、pandas.arrays.IntervalArray.contains方法
781-1、语法
781-2、参数
781-3、功能
781-4、返回值
781-5、说明
781-6、用法
781-6-1、数据准备
781-6-2、代码示例
781-6-3、结果输出
782、pandas.arrays.IntervalArray.overlaps方法
782-1、语法
782-2、参数
782-3、功能
782-4、返回值
782-5、说明
782-6、用法
782-6-1、数据准备
782-6-2、代码示例
782-6-3、结果输出
783、pandas.arrays.IntervalArray.set_closed方法
783-1、语法
783-2、参数
783-3、功能
783-4、返回值
783-5、说明
783-6、用法
783-6-1、数据准备
783-6-2、代码示例
783-6-3、结果输出
784、pandas.arrays.IntervalArray.to_tuples方法
784-1、语法
784-2、参数
784-3、功能
784-4、返回值
784-5、说明
784-6、用法
784-6-1、数据准备
784-6-2、代码示例
784-6-3、结果输出
785、pandas.IntervalDtype类
785-1、语法
785-2、参数
785-3、功能
785-4、返回值
785-5、说明
785-6、用法
785-6-1、数据准备
785-6-2、代码示例
785-6-3、结果输出
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
一、用法精讲
781、pandas.arrays.IntervalArray.contains方法
781-1、语法
# 781、pandas.arrays.IntervalArray.contains方法
pandas.arrays.IntervalArray.contains(other)
Check elementwise if the Intervals contain the value.Return a boolean mask whether the value is contained in the Intervals of the IntervalArray.Parameters:
other
scalar
The value to check whether it is contained in the Intervals.Returns:
boolean array
781-2、参数
781-2-1、other(必须):可以是单一值、一个列表或者一个数组,支持的值类型包括标量(如整数、浮点数、时间戳等),被检查的值会与IntervalArray中的每个区间进行比较。
781-3、功能
用于判断other参数指定的值是否落在IntervalArray中定义的各个区间内,每个区间具有一个上限和下限,函数会检测other是否在这些范围之内。
781-4、返回值
返回一个布尔数组(或布尔值),表示other中的每个值是否在IntervalArray的任一区间内,如果other是单一值,返回的是一个布尔值;如果other是一个数组或列表,返回的则是一个与other等长的布尔数组,指示每个值是否被包含。
781-5、说明
无
781-6、用法
781-6-1、数据准备
无
781-6-2、代码示例
# 781、pandas.arrays.IntervalArray.contains方法
import pandas as pd
# 创建IntervalArray
intervals = pd.IntervalIndex.from_tuples([(0, 5), (10, 15), (20, 25)])
interval_array = pd.arrays.IntervalArray(intervals)
# 检查单一值
print(interval_array.contains(3))
# 检查多个值
values = [7, 12, 18]
print(interval_array.contains(values))
781-6-3、结果输出
# 781、pandas.arrays.IntervalArray.contains方法
# [ True False False]
# [False True False]
782、pandas.arrays.IntervalArray.overlaps方法
782-1、语法
# 782、pandas.arrays.IntervalArray.overlaps方法
pandas.arrays.IntervalArray.overlaps(other)
Check elementwise if an Interval overlaps the values in the IntervalArray.Two intervals overlap if they share a common point, including closed endpoints. Intervals that only have an open endpoint in common do not overlap.Parameters:
other
IntervalArray
Interval to check against for an overlap.Returns:
ndarray
Boolean array positionally indicating where an overlap occurs.
782-2、参数
782-2-1、other(必须):可以是单一的区间、区间的列表或数组,甚至可以是一个IntervalArray对象,被检查的区间必须与IntervalArray中的区间进行比较以判断是否有重叠。
782-3、功能
用来判断IntervalArray中的每个区间是否与other中的区间重叠,重叠的定义是任何一个区间的起始与结束点在另一个区间内或相交。
782-4、返回值
返回一个布尔数组,表示IntervalArray中的每个区间是否与other中的至少一个区间重叠,如果other只有一个区间,返回的是一个布尔值;如果other是多个区间,则返回一个与IntervalArray等长的布尔数组。
782-5、说明
无
782-6、用法
782-6-1、数据准备
无
782-6-2、代码示例
# 782、pandas.arrays.IntervalArray.overlaps方法
import pandas as pd
# 创建IntervalArray
interval_array1 = pd.arrays.IntervalArray.from_tuples([(0, 5), (10, 15), (20, 25)])
# 创建另一个IntervalArray
interval_array2 = pd.arrays.IntervalArray.from_tuples([(4, 10), (16, 22)])
# 检查重叠
print(interval_array1.overlaps(interval_array2))
782-6-3、结果输出
# 782、pandas.arrays.IntervalArray.overlaps方法
# [True, False, True]
783、pandas.arrays.IntervalArray.set_closed方法
783-1、语法
# 783、pandas.arrays.IntervalArray.set_closed方法
pandas.arrays.IntervalArray.set_closed(closed)
Return an identical IntervalArray closed on the specified side.Parameters:
closed
{‘left’, ‘right’, ‘both’, ‘neither’}
Whether the intervals are closed on the left-side, right-side, both or neither.Returns:
IntervalArray
783-2、参数
783-2-1、closed(必须):字符串,表示新的边界闭合类型,可选值为:
- 'left': 左闭右开
- 'right': 左开右闭
- 'both': 两端都闭
- 'neither': 两端都不闭
783-3、功能
更改所有区间的边界闭合方式,可以选择闭合左端点、右端点、两端点或都不闭合。例如,你可以将所有区间从左闭右开的形式更改为两端全闭合的形式。
783-4、返回值
返回一个新的IntervalArray对象,其区间的边界闭合性都已经按照指定的方式进行了更改。
783-5、说明
无
783-6、用法
783-6-1、数据准备
无
783-6-2、代码示例
# 783、pandas.arrays.IntervalArray.set_closed方法
import pandas as pd
# 创建一个IntervalArray,默认是左闭右开
interval_array = pd.arrays.IntervalArray.from_tuples([(0, 5), (10, 15), (20, 25)])
# 更改为两端都闭
new_interval_array = interval_array.set_closed('both')
print(new_interval_array)
783-6-3、结果输出
# 783、pandas.arrays.IntervalArray.set_closed方法
# <IntervalArray>
# [[0, 5], [10, 15], [20, 25]]
# Length: 3, dtype: interval[int64, both]
784、pandas.arrays.IntervalArray.to_tuples方法
784-1、语法
# 784、pandas.arrays.IntervalArray.to_tuples方法
pandas.arrays.IntervalArray.to_tuples(na_tuple=True)[source]
Return an ndarray (if self is IntervalArray) or Index (if self is IntervalIndex) of tuples of the form (left, right).Parameters:
na_tuple
bool, default True
If True, return NA as a tuple (nan, nan). If False, just return NA as nan.Returns:
tuples: ndarray (if self is IntervalArray) or Index (if self is IntervalIndex)
784-2、参数
784-2-1、na_tuple(可选,默认值为True):布尔值,如果为True,任何缺失的值(NA)将被表示为(np.nan,np.nan)的形式;如果为False,则缺失值直接用None表示。
784-3、功能
将IntervalArray的每个区间转换为一个表示区间的元组,并返回这些元组的列表。
784-4、返回值
返回一个元组列表,每个区间一个元组。
784-5、说明
无
784-6、用法
784-6-1、数据准备
无
784-6-2、代码示例
# 784、pandas.arrays.IntervalArray.to_tuples方法
import pandas as pd
import numpy as np
# 创建一个示例IntervalArray
interval_array = pd.arrays.IntervalArray.from_tuples([(0, 5), (10, 15), (20, 25), np.nan])
# 转换为元组列表
tuples_list = interval_array.to_tuples(na_tuple=True)
print(tuples_list)
784-6-3、结果输出
# 784、pandas.arrays.IntervalArray.to_tuples方法
# [(0.0, 5.0) (10.0, 15.0) (20.0, 25.0) (nan, nan)]
785、pandas.IntervalDtype类
785-1、语法
# 785、pandas.IntervalDtype类
class pandas.IntervalDtype(subtype=None, closed=None)
An ExtensionDtype for Interval data.This is not an actual numpy dtype, but a duck type.Parameters:
subtype
str, np.dtype
The dtype of the Interval bounds.
785-2、参数
785-2-1、subtype(可选,默认值为None):用来指定区间的元素类型,例如int、float、datetime等,如果未指定,默认情况下,pandas将会自动推断区间元素的类型。
785-2-2、closed(可选,默认值为None):用来指定区间是闭区间还是开区间,取值可以是'left'、'right'、'both'或'neither'。
785-3、功能
用于处理区间数据的自定义数据类型,在pandas中,区间数据常用于表示数值范围或时间范围。
785-4、返回值
无
785-5、说明
无
785-6、用法
785-6-1、数据准备
无
785-6-2、代码示例
# 785、pandas.IntervalDtype类
import pandas as pd
# 定义一个左闭右开区间数据类型,元素为整数
interval_dtype_int = pd.IntervalDtype(subtype='int64', closed='left')
print(interval_dtype_int)
# 定义一个左右都封闭的区间数据类型,元素为浮点数
interval_dtype_float = pd.IntervalDtype(subtype='float64', closed='both')
print(interval_dtype_float)
# 定义一个时间区间数据类型,元素为日期时间
interval_dtype_datetime = pd.IntervalDtype(subtype='datetime64[ns]', closed='right')
print(interval_dtype_datetime)
785-6-3、结果输出
# 785、pandas.IntervalDtype类
# interval[int64, left]
# interval[float64, both]
# interval[datetime64[ns], right]