索引对象#

索引#

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

索引([数据, 数据类型, 复制, 名称, 元组化列])

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

属性#

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 或 MultiIndex 名称。

Index.names

获取索引中的名称。

Index.nbytes

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

Index.ndim

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

Index.size

返回基础数据中的元素数量。

Index.empty

指示索引是否为空。

Index.T

返回转置,这是根据定义的自身。

Index.memory_usage([deep])

值的内存使用情况。

Index.array

支持此 Series 或 Index 的数据的 ExtensionArray。

修改和计算#

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)

使用传递的位置(-s)删除创建新的索引。

Index.drop(labels[, errors])

使用传递的标签列表创建新的索引并删除。

Index.drop_duplicates(*[, keep])

返回删除了重复值的索引。

Index.duplicated([keep])

指示重复的索引值。

Index.equals(other)

确定两个索引对象是否相等。

Index.factorize([sort, use_na_sentinel])

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

Index.identical(other)

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

Index.insert(loc, item)

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

Index.is_(other)

更灵活,更快的检查,如 is 但可以通过视图工作。

Index.min([axis, skipna])

返回索引的最小值。

Index.max([axis, skipna])

返回索引的最大值。

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

使用目标的值创建索引。

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

更改索引或 MultiIndex 名称。

Index.repeat(repeats[, axis])

重复索引的元素。

Index.where(cond[, other])

在条件为假的地方替换值。

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

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

Index.putmask(mask, value)

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

Index.unique([level])

返回索引中的唯一值。

Index.nunique([dropna])

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

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

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

与 MultiIndex 的兼容性#

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

设置索引或复合索引的名称。

Index.droplevel([level])

返回移除了请求级别的索引。

缺失值#

Index.fillna(value)

用指定值填充 NA/NaN 值。

Index.dropna([how])

返回不包含 NA/NaN 值的索引。

Index.isna()

检测缺失值。

Index.notna()

检测现有的(非缺失的)值。

转换#

Index.astype(dtype[, copy])

创建一个带有转换为dtypes的值的索引。

Index.item()

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

Index.map(mapper[, na_action])

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

Index.ravel([order])

返回一个对自身的视图。

Index.to_list()

返回一个值的列表。

Index.to_series([index, name])

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

Index.to_frame([index, name])

创建一个包含索引列的 DataFrame。

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(其他)

将一系列索引选项附加在一起。

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

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

Index.intersection(other[, sort])

形成两个索引对象的交集。

Index.union(other[, sort])

形成两个索引对象的并集。

Index.difference(other[, sort])

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

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

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

选择#

Index.asof(标签)

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

Index.asof_locs(where, mask)

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

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

计算给定当前索引的新索引的索引器和掩码。

Index.get_indexer_for(目标)

即使在非唯一情况下,也保证返回一个索引器。

Index.get_indexer_non_unique(target)

计算给定当前索引的新索引的索引器和掩码。

Index.get_level_values(level)

返回请求级别的值索引。

Index.get_loc(键)

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

Index.get_slice_bound(label, side)

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

Index.isin(values[, level])

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

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

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

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

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

数字索引#

RangeIndex([开始, 停止, 步长, 数据类型, 复制, ...])

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

RangeIndex.start

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

RangeIndex.stop

stop 参数的值。

RangeIndex.step

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

RangeIndex.from_range(数据[, 名称, 数据类型])

range 对象创建 pandas.RangeIndex

CategoricalIndex#

CategoricalIndex([数据, 类别, ...])

基于底层 Categorical 的索引。

分类组件#

CategoricalIndex.codes

这个分类索引的类别代码。

CategoricalIndex.categories

这个分类的类别。

CategoricalIndex.ordered

类别是否具有有序关系。

CategoricalIndex.rename_categories(...)

重命名类别。

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

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

CategoricalIndex.add_categories(new_categories)

添加新类别。

CategoricalIndex.remove_categories(移除项)

移除指定的类别。

CategoricalIndex.remove_unused_categories()

移除未使用的分类。

CategoricalIndex.set_categories(new_categories)

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

CategoricalIndex.as_ordered()

设置分类变量为有序。

CategoricalIndex.as_unordered()

将分类设置为无序。

修改和计算#

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

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

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

计算给定当前索引的新索引的索引器和掩码。

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 的 dtypes 作为一个 Series。

MultiIndex 组件#

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

在 MultiIndex 上设置新级别。

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

在 MultiIndex 上设置新代码。

MultiIndex.to_flat_index()

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

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

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

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

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

MultiIndex.droplevel([level])

返回移除了请求级别的索引。

MultiIndex.swaplevel([i, j])

交换层级 i 与层级 j。

MultiIndex.reorder_levels(order)

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

MultiIndex.remove_unused_levels()

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

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

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

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

复制这个对象。

MultiIndex.append(其他)

将一系列索引选项附加在一起。

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

计算给定当前索引的新索引的索引器和掩码。

MultiIndex.get_level_values(level)

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

IndexSlice

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

DatetimeIndex#

DatetimeIndex([数据, 频率, 时区, 模糊, ...])

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

时间/日期组件#

DatetimeIndex.year

datetime 的年份

DatetimeIndex.month

月份如 January=1, December=12。

DatetimeIndex.day

datetime 的日期

DatetimeIndex.hour

datetime 的时数

DatetimeIndex.minute

datetime 的分钟数

DatetimeIndex.second

datetime 的秒数。

DatetimeIndex.microsecond

datetime 的微秒

DatetimeIndex.nanosecond

datetime 的纳秒

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

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

选择#

DatetimeIndex.indexer_at_time(time[, asof])

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

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

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

时间特定操作#

DatetimeIndex.normalize()

将时间转换为午夜。

DatetimeIndex.strftime(date_format)

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

DatetimeIndex.snap([freq])

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

DatetimeIndex.tz_convert(tz)

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

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

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

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

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

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

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

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

对数据执行 ceil 操作到指定的 freq

DatetimeIndex.month_name([locale])

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

DatetimeIndex.day_name([locale])

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

转换#

DatetimeIndex.as_unit(单位[, 允许四舍五入])

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

DatetimeIndex.to_period([freq])

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

DatetimeIndex.to_pydatetime()

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

DatetimeIndex.to_series([index, name])

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

DatetimeIndex.to_frame([index, name])

创建一个包含索引列的 DataFrame。

方法#

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

返回数组的平均值。

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

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

TimedeltaIndex#

TimedeltaIndex([数据, 频率, 数据类型, 复制, 名称])

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)

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

TimedeltaIndex.to_pytimedelta()

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

TimedeltaIndex.to_series([index, name])

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

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

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

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

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

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

对数据执行 ceil 操作到指定的 freq

TimedeltaIndex.to_frame([index, name])

创建一个包含索引列的 DataFrame。

方法#

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

返回数组的平均值。

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

获取周期结束的时间戳。

PeriodIndex.freq

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

PeriodIndex.freqstr

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

PeriodIndex.hour

时间段的小时。

PeriodIndex.is_leap_year

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

PeriodIndex.minute

该时期的分钟数。

PeriodIndex.month

月份如 January=1, December=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(date_format)

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

PeriodIndex.to_timestamp([freq, how])

转换为 DatetimeArray/Index。

PeriodIndex.from_fields(*[, 年, 季度, ...])

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

PeriodIndex.from_ordinals(ordinals, *, freq)

从序数构建一个 PeriodIndex。