Index 对象#

Index#

其中许多方法或其变体可用于包含索引的对象(Series/DataFrame),因此在直接调用这些方法之前,最有可能应该使用它们。

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

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

属性#

Index.values

返回表示 Index 中数据的数组。

Index.is_monotonic_increasing

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

Index.is_monotonic_decreasing

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

Index.is_unique

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

Index.has_duplicates

检查 Index 是否有重复值。

Index.hasnans

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

Index.dtype

返回底层数据的 dtype 对象。

Index.inferred_type

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

Index.shape

返回底层数据的 shape 元组。

Index.name

返回 Index 或 MultiIndex 的名称。

Index.names

获取索引上的名称。

Index.nbytes

返回底层数据的字节数。

Index.ndim

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

Index.size

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

Index.empty

指示 Index 是否为空。

Index.T

返回转置,按定义是自身。

Index.memory_usage([deep])

底层数据的内存使用情况。

Index.array

支持此 Index 的数据的 ExtensionArray。

修改和计算#

Index.all(*args, **kwargs)

返回所有元素是否为真。

Index.any(*args, **kwargs)

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

Index.argmin([axis, skipna])

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

Index.argmax([axis, skipna])

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

Index.copy([name, deep])

复制此对象。

Index.delete(loc)

创建新的 Index,删除指定的 location(-s)

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。

Index.is_(other)

类似于 `is`,但更灵活、更快速,并且可以处理视图。

Index.min([axis, skipna])

返回 Index 的最小值。

Index.max([axis, skipna])

返回 Index 的最大值。

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

使用 target 的值创建索引。

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

更改 Index 或 MultiIndex 的名称。

Index.repeat(repeats[, axis])

重复 Index 中的元素。

Index.where(cond[, other])

替换条件为 False 的值。

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

返回一个新 Index,包含由 indices 选择的值。

Index.putmask(mask, value)

返回一个新 Index,其中值根据 mask 设置。

Index.unique([level])

返回 Index 中的唯一值。

Index.nunique([dropna])

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

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

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

与 MultiIndex 的兼容性#

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

设置 Index 或 MultiIndex 的名称。

Index.droplevel([level])

返回移除指定 level(s) 的 Index。

缺失值#

Index.fillna(value)

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

Index.dropna([how])

返回不含 NA/NaN 值的 Index。

Index.isna()

检测缺失值。

Index.notna()

检测存在的(非缺失)值。

转换#

Index.astype(dtype[, copy])

创建具有转换为指定 dtype 的值的 Index。

Index.infer_objects([copy])

如果 dtype 为 object,则尝试推断非 object 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 的列。

Index.to_numpy([dtype, copy, na_value])

Series 或 Index 中值的 NumPy ndarray 表示形式。

Index.view([cls])

返回具有指定 dtype 的 Index 视图或新的 Index 实例。

排序#

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 和 indexer 以使数据结构与新索引一致。

Index.intersection(other[, sort])

形成两个 Index 对象的交集。

Index.union(other[, sort])

形成两个 Index 对象的并集。

Index.difference(other[, sort])

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

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)

返回请求 level 的值的 Index。

Index.get_loc(key)

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

Index.get_slice_bound(label, side)

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

Index.isin(values[, level])

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

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

为输入标签和步长计算切片 indexer。

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

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

数值 Index#

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

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

RangeIndex.start

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

RangeIndex.stop

stop 参数的值。

RangeIndex.step

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

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

range 对象创建 pandas.RangeIndex

CategoricalIndex#

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

基于底层 Categorical 的 Index。

分类组件#

CategoricalIndex.append(other)

将一系列 Index 选项追加在一起。

CategoricalIndex.codes

此分类索引的类别代码。

CategoricalIndex.categories

此分类数据的类别。

CategoricalIndex.ordered

类别是否具有排序关系。

CategoricalIndex.rename_categories(...)

重命名类别。

CategoricalIndex.reorder_categories(...[, ...])

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

CategoricalIndex.add_categories(new_categories)

添加新类别。

CategoricalIndex.remove_categories(removals)

删除指定的类别。

CategoricalIndex.remove_unused_categories()

删除未使用的类别。

CategoricalIndex.set_categories(new_categories)

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

CategoricalIndex.as_ordered()

将 Categorical 设置为有序。

CategoricalIndex.as_unordered()

将 Categorical 设置为无序。

修改和计算#

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 中区间的左边界。

IntervalIndex.right

返回 IntervalIndex 中区间的右边界。

IntervalIndex.mid

将 IntervalIndex 中每个区间的中间点作为 Index 返回。

IntervalIndex.closed

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

IntervalIndex.length

计算 IntervalIndex 中每个区间的长度。

IntervalIndex.values

返回表示 Index 中数据的数组。

IntervalIndex.is_empty

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

IntervalIndex.is_non_overlapping_monotonic

返回一个布尔值,指示 IntervalArray/IntervalIndex 是否无重叠且单调。

IntervalIndex.is_overlapping

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

IntervalIndex.get_loc(key)

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

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

给定当前索引,计算新索引的 indexer 和 mask。

IntervalIndex.set_closed(closed)

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

IntervalIndex.contains(other)

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

IntervalIndex.overlaps(other)

逐元素检查一个区间是否与 IntervalArray 中的值重叠。

IntervalIndex.to_tuples([na_tuple])

返回一个 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 属性#

MultiIndex.names

MultiIndex 中级别的名称。

MultiIndex.levels

MultiIndex 的级别。

MultiIndex.codes

MultiIndex 的代码。

MultiIndex.nlevels

此 MultiIndex 中级别的数量。

MultiIndex.levshape

一个元组,表示 MultiIndex 中每个级别的长度。

MultiIndex.dtypes

为底层 MultiIndex 返回 dtype 作为 Series。

MultiIndex 组件#

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

在 MultiIndex 上设置新级别。

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

在 MultiIndex 上设置新代码。

MultiIndex.to_flat_index()

将 MultiIndex 转换为包含级别值的元组的 Index。

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

创建一个 DataFrame,其中 MultiIndex 的级别作为列。

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

在请求的级别上对 MultiIndex 进行排序。

MultiIndex.droplevel([level])

返回移除指定 level(s) 的 Index。

MultiIndex.swaplevel([i, j])

交换级别 i 和级别 j。

MultiIndex.reorder_levels(order)

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

MultiIndex.remove_unused_levels()

从当前 MultiIndex 创建新的 MultiIndex,以删除未使用的级别。

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, ...])

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

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

给定当前索引,计算新索引的 indexer 和 mask。

MultiIndex.get_level_values(level)

返回请求 level 的标签值向量。

IndexSlice

创建一个对象,以便更轻松地执行多索引切片。

DatetimeIndex#

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

datetime64 数据的不可变 ndarray 类对象。

时间/日期组件#

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

如果已设置,则返回频率对象,否则返回 None。

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

返回索引的推断频率。

选择#

DatetimeIndex.indexer_at_time(time[, asof])

返回一天中特定时间的索引位置。

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

返回一天中特定时间范围内的索引位置。

时间特定操作#

DatetimeIndex.normalize()

将时间转换为午夜。

DatetimeIndex.strftime(date_format)

使用指定的 date_format 转换为 Index。

DatetimeIndex.snap([freq])

将时间戳对齐到最近的频率。

DatetimeIndex.tz_convert(tz)

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

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

将时区感知的 Datetime 数组/索引本地化为时区感知的 Datetime 数组/索引。

DatetimeIndex.round(freq[, ambiguous, ...])

对数据执行四舍五入操作到指定的 freq

DatetimeIndex.floor(freq[, ambiguous, ...])

对数据执行向下取整操作到指定的 freq

DatetimeIndex.ceil(freq[, ambiguous, ...])

对数据执行向上取整操作到指定的 freq

DatetimeIndex.month_name([locale])

返回指定区域设置的月份名称。

DatetimeIndex.day_name([locale])

返回指定区域设置的星期名称。

转换#

DatetimeIndex.as_unit(unit[, round_ok])

转换为具有给定单元分辨率的 dtype。

DatetimeIndex.to_period([freq])

在特定频率下转换为 PeriodArray/PeriodIndex。

DatetimeIndex.to_pydatetime()

返回 datetime.datetime 对象的 ndarray。

DatetimeIndex.to_series([index, name])

创建一个 Series,其中索引和值都等于索引键。

DatetimeIndex.to_frame([index, name])

创建一个 DataFrame,其中包含一个包含 Index 的列。

DatetimeIndex.to_julian_date()

将 Timestamp 转换为儒略日。

方法#

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

返回 Array 的平均值。

DatetimeIndex.std([axis, dtype, out, ddof, ...])

返回请求轴上的样本标准差。

TimedeltaIndex#

TimedeltaIndex([data, freq, dtype, copy, name])

不可变的 timedelta64 数据索引。

组件#

TimedeltaIndex.days

每个元素的日数。

TimedeltaIndex.seconds

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

TimedeltaIndex.microseconds

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

TimedeltaIndex.nanoseconds

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

TimedeltaIndex.components

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

TimedeltaIndex.inferred_freq

返回索引的推断频率。

转换#

TimedeltaIndex.as_unit(unit)

转换为具有给定单元分辨率的 dtype。

TimedeltaIndex.to_pytimedelta()

返回 datetime.timedelta 对象的 ndarray。

TimedeltaIndex.to_series([index, name])

创建一个 Series,其中索引和值都等于索引键。

TimedeltaIndex.round(freq[, ambiguous, ...])

对数据执行四舍五入操作到指定的 freq

TimedeltaIndex.floor(freq[, ambiguous, ...])

对数据执行向下取整操作到指定的 freq

TimedeltaIndex.ceil(freq[, ambiguous, ...])

对数据执行向上取整操作到指定的 freq

TimedeltaIndex.to_frame([index, name])

创建一个 DataFrame,其中包含一个包含 Index 的列。

方法#

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

返回 Array 的平均值。

PeriodIndex#

PeriodIndex([data, freq, dtype, copy, name])

保存表示时间规则周期的不可变 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

获取 Period 结束时间戳。

PeriodIndex.freq

如果已设置,则返回频率对象,否则返回 None。

PeriodIndex.freqstr

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

PeriodIndex.hour

周期的时。

PeriodIndex.is_leap_year

布尔指示符,指示日期是否属于闰年。

PeriodIndex.minute

周期的分钟。

PeriodIndex.month

月份,1 月=1,12 月=12。

PeriodIndex.quarter

日期的季度。

PeriodIndex.qyear

根据其起始季度,Period 所属的财政年度。

PeriodIndex.second

周期的秒。

PeriodIndex.start_time

获取 Period 开始时间戳。

PeriodIndex.week

一年中的周序。

PeriodIndex.weekday

星期几,周一=0,周日=6。

PeriodIndex.weekofyear

一年中的周序。

PeriodIndex.year

周期的年。

方法#

PeriodIndex.asfreq([freq, how])

将 PeriodArray 转换为指定的频率 freq

PeriodIndex.strftime(date_format)

使用指定的 date_format 转换为 Index。

PeriodIndex.to_timestamp([freq, how])

转换为 DatetimeArray/Index。

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

从字段(年、月、日等)构建 PeriodIndex。

PeriodIndex.from_ordinals(ordinals, *, freq)

从序数构建 PeriodIndex。