Python酷库之旅-第三方库Pandas(203)
目录
一、用法精讲
946、pandas.IntervalIndex类
946-1、语法
946-2、参数
946-3、功能
946-4、返回值
946-5、说明
946-6、用法
946-6-1、数据准备
946-6-2、代码示例
946-6-3、结果输出
947、pandas.IntervalIndex.closed属性
947-1、语法
947-2、参数
947-3、功能
947-4、返回值
947-5、说明
947-6、用法
947-6-1、数据准备
947-6-2、代码示例
947-6-3、结果输出
948、pandas.IntervalIndex.is_empty属性
948-1、语法
948-2、参数
948-3、功能
948-4、返回值
948-5、说明
948-6、用法
948-6-1、数据准备
948-6-2、代码示例
948-6-3、结果输出
949、pandas.IntervalIndex.is_non_overlapping_monotonic属性
949-1、语法
949-2、参数
949-3、功能
949-4、返回值
949-5、说明
949-6、用法
949-6-1、数据准备
949-6-2、代码示例
949-6-3、结果输出
950、pandas.IntervalIndex.is_overlapping属性
950-1、语法
950-2、参数
950-3、功能
950-4、返回值
950-5、说明
950-6、用法
950-6-1、数据准备
950-6-2、代码示例
950-6-3、结果输出
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
一、用法精讲
946、pandas.IntervalIndex类
946-1、语法
# 946、pandas.IntervalIndex类
class pandas.IntervalIndex(data, closed=None, dtype=None, copy=False, name=None, verify_integrity=True)
Immutable index of intervals that are closed on the same side.Parameters:
data
array-like (1-dimensional)
Array-like (ndarray, DateTimeArray, TimeDeltaArray) containing Interval objects from which to build the IntervalIndex.closed
{‘left’, ‘right’, ‘both’, ‘neither’}, default ‘right’
Whether the intervals are closed on the left-side, right-side, both or neither.dtype
dtype or None, default None
If None, dtype will be inferred.copy
bool, default False
Copy the input data.name
object, optional
Name to be stored in the index.verify_integrity
bool, default True
Verify that the IntervalIndex is valid.
946-2、参数
946-2-1、data(必需):array-like,用于创建区间的基础数据,可以是一个包含区间元组、列表或其他形式的数组。
946-2-2、closed(可选,默认值为None):str,指定区间边界的开放或封闭状态,可接受的值包括:
- 'right':右闭合(不包括右端点)
- 'left':左闭合(不包括左端点)
- 'both':两端都闭合(包括左右端点)
- 'neither':两端都开放(不包括左右端点)
946-2-3、dtype(可选,默认值为None):数据类型或None,
指定区间的类型,通常为IntervalDtype,如果设置为None,则数据会根据输入自动确定类型。
946-2-4、copy(可选,默认值为False):布尔值,指定是否创建数据的副本,如果设置为True,则会创建数据的独立副本。
946-2-5、name(可选,默认值为None):str,设置索引的名称。
946-2-6、verify_integrity(可选,默认值为True):布尔值,确保创建的区间不重叠。如果设置为 True
,则在创建时会检查区间的一致性;如果区间重叠,会抛出错误。
946-3、功能
支持高效的区间搜索和操作,它能够:
- 提供快速的区间查找。
- 支持数学运算,例如合并、交叉和差集等操作。
- 提供灵活的数据切片和过滤。
946-4、返回值
返回的IntervalIndex对象是一种特殊的pandas索引类型,包含了一系列定义的区间,可以直接用于DataFrame和Series的索引。
946-5、说明
无
946-6、用法
946-6-1、数据准备
无
946-6-2、代码示例
# 946、pandas.IntervalIndex类
import pandas as pd
# 创建一个区间索引
interval_index = pd.IntervalIndex.from_tuples([(1, 2), (3, 5), (7, 10)], closed='both')
print(interval_index)
946-6-3、结果输出
# 946、pandas.IntervalIndex类
# IntervalIndex([[1, 2], [3, 5], [7, 10]], dtype='interval[int64, both]')
947、pandas.IntervalIndex.closed属性
947-1、语法
# 947、pandas.IntervalIndex.closed属性
pandas.IntervalIndex.closed
String describing the inclusive side the intervals.Either left, right, both or neither.
947-2、参数
无
947-3、功能
用于获取区间边界的开放或闭合状态。
947-4、返回值
返回一个包含所有区间的闭合状态的数组。
947-5、说明
无
947-6、用法
947-6-1、数据准备
无
947-6-2、代码示例
# 947、pandas.IntervalIndex.closed属性
import pandas as pd
# 创建一个IntervalIndex
interval_index = pd.IntervalIndex.from_tuples([(1, 2), (3, 5), (7, 10)], closed='both')
# 获取闭合状态
closed_state = interval_index.closed
print(closed_state)
947-6-3、结果输出
# 947、pandas.IntervalIndex.closed属性
# both
948、pandas.IntervalIndex.is_empty属性
948-1、语法
# 948、pandas.IntervalIndex.is_empty属性
property pandas.IntervalIndex.is_empty
Indicates if an interval is empty, meaning it contains no points.Returns:
bool or ndarray
A boolean indicating if a scalar Interval is empty, or a boolean ndarray positionally indicating if an Interval in an IntervalArray or IntervalIndex is empty.
948-2、参数
无
948-3、功能
用于检查区间索引中的区间是否为空。
948-4、返回值
返回一个布尔值,指示该IntervalIndex是否为空。
948-5、说明
无
948-6、用法
948-6-1、数据准备
无
948-6-2、代码示例
# 948、pandas.IntervalIndex.is_empty属性
import pandas as pd
# 创建一个非空的IntervalIndex
interval_index_non_empty = pd.IntervalIndex.from_tuples([(1, 2), (3, 4)])
# 创建一个空的IntervalIndex
interval_index_empty = pd.IntervalIndex([])
# 检查是否为空
print(interval_index_non_empty.is_empty)
print(interval_index_empty.is_empty)
948-6-3、结果输出
# 948、pandas.IntervalIndex.is_empty属性
# [False False]
# []
949、pandas.IntervalIndex.is_non_overlapping_monotonic属性
949-1、语法
# 949、pandas.IntervalIndex.is_non_overlapping_monotonic属性
pandas.IntervalIndex.is_non_overlapping_monotonic
Return a boolean whether the IntervalArray is non-overlapping and monotonic.Non-overlapping means (no Intervals share points), and monotonic means either monotonic increasing or monotonic decreasing.
949-2、参数
无
949-3、功能
用于检查区间索引是否满足以下两个条件:
1、非重叠(Non-overlapping)
2、单调递增或递减(Monotonic)
949-4、返回值
返回值为布尔类型(True/False),如果满足以下条件,返回True:
- 区间之间不存在重叠
- 区间要么按左端点单调递增,要么按右端点单调递减
949-5、说明
无
949-6、用法
949-6-1、数据准备
无
949-6-2、代码示例
# 949、pandas.IntervalIndex.is_non_overlapping_monotonic属性
import pandas as pd
# 创建非重叠单调递增的区间索引
idx1 = pd.IntervalIndex.from_breaks([0, 2, 4, 6, 8])
print(idx1.is_non_overlapping_monotonic)
# 创建有重叠的区间索引
idx2 = pd.IntervalIndex.from_tuples([(0, 3), (2, 5), (4, 7)])
print(idx2.is_non_overlapping_monotonic)
949-6-3、结果输出
# 949、pandas.IntervalIndex.is_non_overlapping_monotonic属性
# True
# False
950、pandas.IntervalIndex.is_overlapping属性
950-1、语法
# 950、pandas.IntervalIndex.is_overlapping属性
property pandas.IntervalIndex.is_overlapping
Return True if the IntervalIndex has overlapping intervals, else False.Two intervals overlap if they share a common point, including closed endpoints. Intervals that only have an open endpoint in common do not overlap.Returns:
bool
Boolean indicating if the IntervalIndex has overlapping intervals.
950-2、参数
无
950-3、功能
用于检查区间索引中的区间是否存在重叠。
950-4、返回值
返回值为布尔类型(True/False),如果区间索引中至少有两个区间存在重叠,返回True;否则返回False。
950-5、说明
无
950-6、用法
950-6-1、数据准备
无
950-6-2、代码示例
# 950、pandas.IntervalIndex.is_overlapping属性
import pandas as pd
# 创建没有重叠的区间索引
idx1 = pd.IntervalIndex.from_tuples([(0, 1), (1, 2), (2, 3)])
print(idx1.is_overlapping)
# 创建有重叠的区间索引
idx2 = pd.IntervalIndex.from_tuples([(0, 2), (1, 3), (4, 5)])
print(idx2.is_overlapping)
950-6-3、结果输出
# 950、pandas.IntervalIndex.is_overlapping属性
# False
# True