索引对象#

pandas.DataFrame.keys#

这些方法中的许多或其变体可用于包含索引的对象(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 

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

Index.name 

返回 Index 或 MultiIndex 的名称。

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。

Index.is_ (other)

更灵活、更快的 is 检查,但它会通过视图工作。

Index.is_boolean ()

(已弃用)检查 Index 是否仅包含布尔值。

Index.is_categorical ()

(DEPRECATED) 检查索引是否包含类别数据。

Index.is_floating ()

(DEPRECATED) 检查索引是否为浮点类型。

Index.is_integer ()

(DEPRECATED) 检查索引是否仅包含整数。

Index.is_interval ()

(DEPRECATED) 检查索引是否包含 Interval 对象。

Index.is_numeric ()

(DEPRECATED) 检查索引是否仅包含数字数据。

Index.is_object ()

(DEPRECATED) 检查索引是否为 object 数据类型。

Index.min ([axis, skipna])

返回索引的最小值。

Index.max ([axis, skipna])

返回索引的最大值。

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

使用目标的值创建索引。

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

更改 Index 或 MultiIndex 的名称。

Index.repeat (repeats[, axis])

重复 Index 的元素。

Index.where (cond[, other])

替换条件为False的值。

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

返回一个新索引,其中包含由 indices 选择的值。

Index.putmask (mask, value)

返回一个新索引,其中包含被掩码设置的值。

Index.unique ([level])

返回索引中的唯一值。

Index.nunique ([dropna])

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

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

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

与 MultiIndex 的兼容性#

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

设置 Index 或 MultiIndex 的名称。

Index.droplevel ([level])

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

缺失值#

Index.fillna ([value, downcast])

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

Index.dropna ([how])

返回不包含 NA/NaN 值的 Index。

Index.isna ()

检测缺失值。

Index.notna ()

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

转换#

Index.astype (dtype[, copy])

创建具有转换为 dtypes 的值的 Index。

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,其中包含索引中不属于 other 的元素。

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

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

选择#

Index.asof (label)

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

Index.asof_locs (where, mask)

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

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

根据当前索引为新索引计算索引器和掩码。

Index.get_indexer_for (target)

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

Index.get_indexer_non_unique (target)

根据当前索引为新索引计算索引器和掩码。

Index.get_level_values (level)

返回所请求级别的值的 Index。

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

实现单调整数范围的不可变 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。

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)

将类别设置为指定的 new_categories。

CategoricalIndex.as_ordered (*args, **kwargs)

将 Categorical 设置为有序。

CategoricalIndex.as_unordered (*args, **kwargs)

将 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.right 

IntervalIndex.mid 

IntervalIndex.closed 

String describing the inclusive side the intervals.

IntervalIndex.length 

IntervalIndex.values 

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

IntervalIndex.is_empty 

Indicates if an interval is empty, meaning it contains no points.

IntervalIndex.is_non_overlapping_monotonic 

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

IntervalIndex.is_overlapping 

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

IntervalIndex.get_loc (key)

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

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

根据当前索引为新索引计算索引器和掩码。

IntervalIndex.set_closed (*args, **kwargs)

返回一个与原 IntervalArray 相同但在一侧闭合的 IntervalArray。

IntervalIndex.contains (*args, **kwargs)

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

IntervalIndex.overlaps (*args, **kwargs)

逐元素检查区间是否与 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 属性#

MultiIndex.names 

MultiIndex 中级别的名称。

MultiIndex.levels 

MultiIndex 的级别。

MultiIndex.codes 

MultiIndex.nlevels 

此 MultiIndex 中的级别数。

MultiIndex.levshape 

一个包含各层长度的元组。

MultiIndex.dtypes 

返回底层 MultiIndex 的 dtypes 作为 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])

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

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

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

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

根据当前索引为新索引计算索引器和掩码。

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:class:datetime.date 对象的numpy数组。

DatetimeIndex.time 

返回:class:datetime.time 对象的numpy数组。

DatetimeIndex.timetz 

返回带时区的:class: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转换为Index。

DatetimeIndex.snap ([freq])

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

DatetimeIndex.tz_convert (tz)

将时区感知的Datetime Array/Index从一个时区转换为另一个时区。

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

将时区不敏感的Datetime Array/Index本地化为时区感知的Datetime Array/Index。

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)

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

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,其中包含一个索引列。

Methods#

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

返回一个 DataFrame,其中包含 Timedeltas 的各个分辨率分量。

TimedeltaIndex.inferred_freq

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

转换#

TimedeltaIndex.as_unit (unit)

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

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,其中包含一个索引列。

Methods#

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

获取 Period 结束时间的 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

获取 Period 开始时间的 Timestamp。

PeriodIndex.week

一年中的第几周。

PeriodIndex.weekday

星期几(星期一=0,星期日=6)。

PeriodIndex.weekofyear

一年中的第几周。

PeriodIndex.year

该期间的年份。

Methods#

PeriodIndex.asfreq ([freq, how])

将 PeriodArray 转换为指定的频率 freq

PeriodIndex.strftime (*args, **kwargs)

使用指定的date_format转换为Index。

PeriodIndex.to_timestamp ([freq, how])

转换为 DatetimeArray/Index。

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

PeriodIndex.from_ordinals (ordinals, *, freq)