索引对象#

索引#

许多这些方法或其变体在包含索引的对象(Series/DataFrame)上可用,并且在直接调用这些方法之前,最有可能使用这些方法。

Index([data, dtype, copy, name, tupleize_cols])

用于索引和对齐的不可变序列。

属性#

Index.values

返回表示索引中数据的数组。

Index.is_monotonic_increasing

如果值相等或递增,则返回布尔值。

Index.is_monotonic_decreasing

如果值相等或递减,则返回布尔值。

Index.is_unique

返回索引是否具有唯一值。

Index.has_duplicates

检查索引是否具有重复值。

Index.hasnans

如果存在任何 NaN,则返回 True。

Index.dtype

返回底层数据的 dtype 对象。

Index.inferred_type

返回从值推断出的类型的字符串。

Index.shape

返回底层数据的形状元组。

Index.name

返回索引或多级索引名称。

Index.names

Index.nbytes

返回底层数据中的字节数。

Index.ndim

底层数据的维度数,定义为 1。

Index.size

返回底层数据中的元素数。

Index.empty

Index.T

返回转置,定义为自身。

Index.memory_usage([deep])

值的内存使用量。

修改和计算#

Index.all(*args, **kwargs)

返回所有元素是否为真值。

Index.any(*args, **kwargs)

返回任何元素是否为真值。

Index.argmin([axis, skipna])

返回 Series 中最小值的整数位置。

Index.argmax([axis, skipna])

返回 Series 中最大值的整数位置。

Index.copy([name, deep])

创建此对象的副本。

Index.delete(loc)

创建新的 Index,删除传递的位置。

Index.drop(labels[, errors])

创建新的 Index,删除传递的标签列表。

Index.drop_duplicates([, keep])

返回删除重复值的 Index。

Index.duplicated([keep])

指示重复的索引值。

Index.equals(other)

确定两个 Index 对象是否相等。

Index.factorize([sort, use_na_sentinel])

将对象编码为枚举类型或分类变量。

Index.identical(other)

类似于 equals,但检查对象属性和类型是否也相等。

Index.insert(loc, item)

在指定位置插入新项目,创建新的索引。

Index.is_(other)

更灵活、更快的检查,类似于 is,但通过视图工作。

Index.is_boolean()

(已弃用) 检查索引是否只包含布尔值。

Index.is_categorical()

(已弃用) 检查索引是否包含分类数据。

Index.is_floating()

(已弃用) 检查索引是否为浮点类型。

Index.is_integer()

(已弃用) 检查索引是否只包含整数。

Index.is_interval()

(已弃用) 检查索引是否包含 Interval 对象。

Index.is_numeric()

(已弃用) 检查索引是否只包含数值数据。

Index.is_object()

(已弃用) 检查索引是否为 object 数据类型。

Index.min([axis, skipna])

返回索引的最小值。

Index.max([axis, skipna])

返回索引的最大值。

Index.reindex(target[, method, level, ...])

使用目标值创建索引。

Index.rename(name, *[, inplace])

更改索引或多级索引的名称。

Index.repeat(repeats[, axis])

重复索引中的元素。

Index.where(cond[, other])

替换条件为 False 的值。

Index.take(indices[, axis, allow_fill, ...])

返回由索引选择的数值的新索引。

Index.putmask(mask, value)

返回一个使用掩码设置值的新的索引。

Index.unique([level])

返回索引中的唯一值。

Index.nunique([dropna])

返回对象中唯一元素的数量。

Index.value_counts([normalize, sort, ...])

返回一个包含唯一值计数的 Series。

与 MultiIndex 的兼容性#

Index.set_names(names, *[, level, inplace])

设置索引或 MultiIndex 名称。

Index.droplevel([level])

返回删除了请求级别(s)的索引。

缺失值#

Index.fillna([value, downcast])

用指定的值填充 NA/NaN 值。

Index.dropna([how])

返回没有 NA/NaN 值的索引。

Index.isna()

检测缺失值。

Index.notna()

检测现有(非缺失)值。

转换#

Index.astype(dtype[, copy])

创建一个具有转换为 dtype 值的索引。

Index.item()

将底层数据的第一个元素作为 Python 标量返回。

Index.map(mapper[, na_action])

使用输入映射或函数映射值。

Index.ravel([order])

返回自身视图。

Index.to_list()

返回值的列表。

Index.to_series([index, name])

创建一个索引和值都等于索引键的 Series。

Index.to_frame([index, name])

创建一个包含索引的 DataFrame。

Index.view([cls])

排序#

Index.argsort(*args, **kwargs)

返回对索引进行排序的整数索引。

Index.searchsorted(value[, side, sorter])

查找应插入元素以保持顺序的索引。

Index.sort_values([return_indexer, ...])

返回索引的排序副本。

特定时间操作#

Index.shift([periods, freq])

将索引按所需的时间频率增量进行偏移。

组合/连接/集合操作#

Index.append(other)

将多个 Index 选项拼接在一起。

Index.join(other, *[, how, level, ...])

计算 join_index 和 indexers 以使数据结构符合新索引。

Index.intersection(other[, sort])

形成两个 Index 对象的交集。

Index.union(other[, sort])

形成两个 Index 对象的并集。

Index.difference(other[, sort])

返回一个新的 Index,其中包含 index 中不在 other 中的元素。

Index.symmetric_difference(other[, ...])

计算两个 Index 对象的对称差。

选择#

Index.asof(label)

返回索引中的标签,如果不存在,则返回前一个标签。

Index.asof_locs(where, mask)

返回索引中标签的位置(索引)。

Index.get_indexer(target[, method, limit, ...])

根据当前索引计算新索引的 indexer 和 mask。

Index.get_indexer_for(target)

即使在非唯一情况下也能保证返回 indexer。

Index.get_indexer_non_unique(target)

根据当前索引计算新索引的 indexer 和 mask。

Index.get_level_values(level)

返回请求级别的值索引。

Index.get_loc(key)

获取请求标签的整数位置、切片或布尔掩码。

Index.get_slice_bound(label, side)

计算对应于给定标签的切片边界。

Index.isin(values[, level])

返回一个布尔数组,其中索引值在 values 中。

Index.slice_indexer([start, end, step])

计算输入标签和步长的切片索引器。

Index.slice_locs([start, end, step])

计算输入标签的切片位置。

数值索引#

RangeIndex([start, stop, step, dtype, copy, ...])

实现单调整数范围的不可变索引。

RangeIndex.start

start 参数的值(如果未提供,则为 0)。

RangeIndex.stop

stop 参数的值。

RangeIndex.step

step 参数的值(如果未提供,则为 1)。

RangeIndex.from_range(data[, name, dtype])

range 对象创建 pandas.RangeIndex

分类索引#

CategoricalIndex([data, categories, ...])

基于底层 Categorical 的索引。

分类组件#

CategoricalIndex.codes

此分类索引的类别代码。

CategoricalIndex.categories

此分类的类别。

CategoricalIndex.ordered

类别是否具有有序关系。

CategoricalIndex.rename_categories(*args, ...)

重命名类别。

CategoricalIndex.reorder_categories(*args, ...)

按 new_categories 中指定的顺序重新排列类别。

CategoricalIndex.add_categories(*args, **kwargs)

添加新类别。

CategoricalIndex.remove_categories(*args, ...)

删除指定的类别。

CategoricalIndex.remove_unused_categories(...)

删除未使用的类别。

CategoricalIndex.set_categories(*args, **kwargs)

将类别设置为指定的新的类别。

CategoricalIndex.as_ordered(*args, **kwargs)

将分类设置为有序。

CategoricalIndex.as_unordered(*args, **kwargs)

将分类设置为无序。

修改和计算#

CategoricalIndex.map(mapper[, na_action])

使用输入映射或函数映射值。

CategoricalIndex.equals(other)

确定两个 CategoricalIndex 对象是否包含相同的元素。

IntervalIndex#

IntervalIndex(data[, closed, dtype, copy, ...])

不可变的区间索引,这些区间在同一侧闭合。

IntervalIndex 组件#

IntervalIndex.from_arrays(left, right[, ...])

从定义左右边界的两个数组构造。

IntervalIndex.from_tuples(data[, closed, ...])

从元组的数组类构造 IntervalIndex。

IntervalIndex.from_breaks(breaks[, closed, ...])

从分割数组构造 IntervalIndex。

IntervalIndex.left

IntervalIndex.right

IntervalIndex.mid

IntervalIndex.closed

描述区间的包含侧的字符串。

IntervalIndex.length

IntervalIndex.values

返回表示索引中数据的数组。

IntervalIndex.is_empty

指示区间是否为空,这意味着它不包含任何点。

IntervalIndex.is_non_overlapping_monotonic

返回一个布尔值,指示 IntervalArray 是否是非重叠且单调的。

IntervalIndex.is_overlapping

如果 IntervalIndex 包含重叠的区间,则返回 True,否则返回 False。

IntervalIndex.get_loc(key)

获取请求标签的整数位置、切片或布尔掩码。

IntervalIndex.get_indexer(target[, method, ...])

根据当前索引计算新索引的 indexer 和 mask。

IntervalIndex.set_closed(*args, **kwargs)

返回一个在指定侧闭合的相同 IntervalArray。

IntervalIndex.contains(*args, **kwargs)

逐元素检查 Intervals 是否包含该值。

IntervalIndex.overlaps(*args, **kwargs)

逐元素检查 Interval 是否与 IntervalArray 中的值重叠。

IntervalIndex.to_tuples(*args, **kwargs)

返回一个 ndarray(如果 self 是 IntervalArray)或 Index(如果 self 是 IntervalIndex),其中包含形式为 (left, right) 的元组。

MultiIndex#

MultiIndex([levels, codes, sortorder, ...])

用于 pandas 对象的多级或分层索引对象。

MultiIndex 构造函数#

MultiIndex.from_arrays(arrays[, sortorder, ...])

将数组转换为 MultiIndex。

MultiIndex.from_tuples(tuples[, sortorder, ...])

将元组列表转换为 MultiIndex。

MultiIndex.from_product(iterables[, ...])

从多个可迭代对象的笛卡尔积创建 MultiIndex。

MultiIndex.from_frame(df[, sortorder, names])

从 DataFrame 创建 MultiIndex。

多级索引属性#

MultiIndex.names

多级索引中各级别的名称。

MultiIndex.levels

多级索引的级别。

MultiIndex.codes

MultiIndex.nlevels

此多级索引中级别的整数数量。

MultiIndex.levshape

包含每个级别长度的元组。

MultiIndex.dtypes

返回底层多级索引的dtypes作为Series。

多级索引组件#

MultiIndex.set_levels(levels, *[, level, ...])

在多级索引上设置新的级别。

MultiIndex.set_codes(codes, *[, level, ...])

在多级索引上设置新的代码。

MultiIndex.to_flat_index()

将多级索引转换为包含级别值的元组的索引。

MultiIndex.to_frame([index, name, ...])

创建一个DataFrame,其列为多级索引的级别。

MultiIndex.sortlevel([level, ascending, ...])

在请求的级别对多级索引进行排序。

MultiIndex.droplevel([level])

返回删除了请求级别(s)的索引。

MultiIndex.swaplevel([i, j])

交换级别i与级别j。

MultiIndex.reorder_levels(order)

使用输入顺序重新排列级别。

MultiIndex.remove_unused_levels()

从当前多级索引创建新的多级索引,删除未使用的级别。

MultiIndex.drop(codes[, level, errors])

创建一个新的 pandas.MultiIndex,删除传递的代码列表。

MultiIndex.copy([names, deep, name])

创建此对象的副本。

MultiIndex.append(other)

将多个 Index 选项拼接在一起。

MultiIndex.truncate([before, after])

在两个标签/元组之间切片索引,返回新的 MultiIndex。

MultiIndex 选择#

MultiIndex.get_loc(key)

获取标签或标签元组的位置。

MultiIndex.get_locs(seq)

获取标签序列的位置。

MultiIndex.get_loc_level(key[, level, ...])

获取请求的标签/级别的位置和切片索引。

MultiIndex.get_indexer(target[, method, ...])

根据当前索引计算新索引的 indexer 和 mask。

MultiIndex.get_level_values(level)

返回请求级别的标签值向量。

IndexSlice

创建一个对象,以便更容易地执行多级索引切片。

DatetimeIndex#

DatetimeIndex([data, freq, tz, normalize, ...])

不可变的类似 ndarray 的 datetime64 数据。

时间/日期组件#

DatetimeIndex.year

日期时间的年份。

DatetimeIndex.month

月份以 1 月 = 1,12 月 = 12 表示。

DatetimeIndex.day

日期的时间。

DatetimeIndex.hour

日期的小时。

DatetimeIndex.minute

日期的分钟。

DatetimeIndex.second

日期的秒。

DatetimeIndex.microsecond

日期的微秒。

DatetimeIndex.nanosecond

日期的纳秒。

DatetimeIndex.date

返回 Python datetime.date 对象的 NumPy 数组。

DatetimeIndex.time

返回 datetime.time 对象的 NumPy 数组。

DatetimeIndex.timetz

返回带有时区的 datetime.time 对象的 NumPy 数组。

DatetimeIndex.dayofyear

一年中的序数天。

DatetimeIndex.day_of_year

一年中的序数天。

DatetimeIndex.dayofweek

一周中的某一天,星期一 = 0,星期日 = 6。

DatetimeIndex.day_of_week

一周中的某一天,星期一 = 0,星期日 = 6。

DatetimeIndex.weekday

一周中的某一天,星期一 = 0,星期日 = 6。

DatetimeIndex.quarter

日期所在的季度。

DatetimeIndex.tz

返回时区。

DatetimeIndex.freq

DatetimeIndex.freqstr

如果设置了频率对象,则将其作为字符串返回,否则返回 None。

DatetimeIndex.is_month_start

指示日期是否为该月的第一天。

DatetimeIndex.is_month_end

指示日期是否为该月的最后一天。

DatetimeIndex.is_quarter_start

指示日期是否为季度的第一天。

DatetimeIndex.is_quarter_end

指示日期是否为季度的最后一天。

DatetimeIndex.is_year_start

指示日期是否为一年的第一天。

DatetimeIndex.is_year_end

指示日期是否为一年的最后一天。

DatetimeIndex.is_leap_year

如果日期属于闰年,则为布尔指示器。

DatetimeIndex.inferred_freq

尝试返回由 infer_freq 生成的表示频率的字符串。

选择#

DatetimeIndex.indexer_at_time(time[, asof])

返回特定时间的值的索引位置。

DatetimeIndex.indexer_between_time(...[, ...])

返回特定时间范围内的值的索引位置。

特定时间操作#

DatetimeIndex.normalize(*args, **kwargs)

将时间转换为午夜。

DatetimeIndex.strftime(date_format)

使用指定的 date_format 转换为索引。

DatetimeIndex.snap([freq])

将时间戳捕捉到最近发生的频率。

DatetimeIndex.tz_convert(tz)

将时区感知的日期时间数组/索引从一个时区转换为另一个时区。

DatetimeIndex.tz_localize(tz[, ambiguous, ...])

将时区无感知的日期时间数组/索引本地化为时区感知的日期时间数组/索引。

DatetimeIndex.round(*args, **kwargs)

对数据执行舍入操作,以指定的 freq 为单位。

DatetimeIndex.floor(*args, **kwargs)

对数据执行向下取整操作,以指定的 freq 为单位。

DatetimeIndex.ceil(*args, **kwargs)

对数据执行向上取整操作,以指定的 freq 为单位。

DatetimeIndex.month_name(*args, **kwargs)

返回指定语言环境的月份名称。

DatetimeIndex.day_name(*args, **kwargs)

返回指定语言环境的星期名称。

转换#

DatetimeIndex.as_unit(*args, **kwargs)

转换为具有给定单位分辨率的数据类型。

DatetimeIndex.to_period(*args, **kwargs)

将数据转换为特定频率的 PeriodArray/PeriodIndex。

DatetimeIndex.to_pydatetime(*args, **kwargs)

返回一个包含 datetime.datetime 对象的 ndarray。

DatetimeIndex.to_series([index, name])

创建一个索引和值都等于索引键的 Series。

DatetimeIndex.to_frame([index, name])

创建一个包含索引的 DataFrame。

方法#

DatetimeIndex.mean(*[, skipna, axis])

返回数组的平均值。

DatetimeIndex.std(*args, **kwargs)

返回指定轴上的样本标准差。

TimedeltaIndex#

TimedeltaIndex([data, unit, freq, closed, ...])

不可变的 timedelta64 数据索引。

组件#

TimedeltaIndex.days

每个元素的天数。

TimedeltaIndex.seconds

每个元素的秒数(>= 0 且小于 1 天)。

TimedeltaIndex.microseconds

每个元素的微秒数(>= 0 且小于 1 秒)。

TimedeltaIndex.nanoseconds

每个元素的纳秒数(>= 0 且小于 1 微秒)。

TimedeltaIndex.components

返回一个包含 Timedeltas 的各个分辨率组件的 DataFrame。

TimedeltaIndex.inferred_freq

尝试返回由 infer_freq 生成的表示频率的字符串。

转换#

TimedeltaIndex.as_unit(unit)

转换为具有给定单位分辨率的数据类型。

TimedeltaIndex.to_pytimedelta(*args, **kwargs)

返回一个包含 datetime.timedelta 对象的 ndarray。

TimedeltaIndex.to_series([index, name])

创建一个索引和值都等于索引键的 Series。

TimedeltaIndex.round(*args, **kwargs)

对数据执行舍入操作,以指定的 freq 为单位。

TimedeltaIndex.floor(*args, **kwargs)

对数据执行向下取整操作,以指定的 freq 为单位。

TimedeltaIndex.ceil(*args, **kwargs)

对数据执行向上取整操作,以指定的 freq 为单位。

TimedeltaIndex.to_frame([index, name])

创建一个包含索引的 DataFrame。

方法#

TimedeltaIndex.mean(*[, skipna, axis])

返回数组的平均值。

PeriodIndex#

PeriodIndex([data, ordinal, freq, dtype, ...])

不可变的 ndarray,保存表示时间段的序数值。

属性#

PeriodIndex.day

时间段的日期。

PeriodIndex.dayofweek

一周中的某一天,星期一 = 0,星期日 = 6。

PeriodIndex.day_of_week

一周中的某一天,星期一 = 0,星期日 = 6。

PeriodIndex.dayofyear

一年中的序数天。

PeriodIndex.day_of_year

一年中的序数天。

PeriodIndex.days_in_month

月份的天数。

PeriodIndex.daysinmonth

月份的天数。

PeriodIndex.end_time

获取时间段结束的 Timestamp。

PeriodIndex.freq

PeriodIndex.freqstr

如果设置了频率对象,则将其作为字符串返回,否则返回 None。

PeriodIndex.hour

时间段的小时。

PeriodIndex.is_leap_year

逻辑值,指示日期是否属于闰年。

PeriodIndex.minute

时间段的分钟。

PeriodIndex.month

月份以 1 月 = 1,12 月 = 12 表示。

PeriodIndex.quarter

日期所在的季度。

PeriodIndex.qyear

PeriodIndex.second

时间段的秒。

PeriodIndex.start_time

获取周期的开始时间戳。

PeriodIndex.week

一年中的星期序数。

PeriodIndex.weekday

一周中的某一天,星期一 = 0,星期日 = 6。

PeriodIndex.weekofyear

一年中的星期序数。

PeriodIndex.year

周期的年份。

方法#

PeriodIndex.asfreq([freq, how])

将 PeriodArray 转换为指定的频率 freq

PeriodIndex.strftime(*args, **kwargs)

使用指定的 date_format 转换为索引。

PeriodIndex.to_timestamp([freq, how])

转换为 DatetimeArray/Index。

PeriodIndex.from_fields(*[, year, quarter, ...])

PeriodIndex.from_ordinals(ordinals, *, freq)