索引对象#

索引#

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

cudf.Index(data, *args, **kwargs)

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

属性#

Index.dtype

dtype 是 Index 中底层值的类型。

Index.duplicated([keep])

指示重复的索引值。

Index.empty

Index.has_duplicates

Index.hasnans

如果有任何NaN或null值,则返回True。

Index.is_monotonic_increasing

如果对象中的值单调递增,则返回布尔值。

Index.is_monotonic_decreasing

如果对象中的值单调递减,则返回布尔值。

Index.is_unique

如果对象中的值是唯一的,则返回布尔值。

Index.name

获取此对象的名称。

Index.names

返回一个包含索引名称的FrozenList。

Index.ndim

基础数据的维度数,根据定义为1。

Index.nlevels

层级的数量。

Index.shape

获取一个表示索引维度的元组。

Index.size

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

Index.values

返回DataFrame的CuPy表示。

修改和计算#

Index.all([axis, skipna])

返回DataFrame中所有元素是否为True。

Index.any()

返回DataFrame中是否有任何元素为True。

Index.copy([name, deep])

复制此对象。

Index.drop_duplicates([keep, nulls_are_equal])

删除索引中的重复行。

Index.equals(other)

测试两个对象是否包含相同的元素。

Index.factorize([sort, use_na_sentinel])

将输入值编码为整数标签。

Index.is_boolean()

检查索引是否仅由布尔值组成。

Index.is_categorical()

检查索引是否包含分类数据。

Index.is_floating()

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

Index.is_integer()

检查索引是否仅由整数组成。

Index.is_interval()

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

Index.is_numeric()

检查索引是否仅包含数值数据。

Index.is_object()

检查索引是否为对象数据类型。

Index.min([axis, skipna, numeric_only])

返回DataFrame中的最小值。

Index.max([axis, skipna, numeric_only])

返回DataFrame中的最大值。

Index.rename(name[, inplace])

更改索引名称。

Index.repeat(repeats[, axis])

重复Index的元素。

Index.where(cond[, other, inplace])

替换条件为False的值。

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

返回一个包含由indices指定的行的新索引

Index.unique([level])

返回索引中的唯一值。

Index.nunique([dropna])

返回列中唯一值的计数。

与MultiIndex的兼容性#

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

设置索引或多索引名称。

缺失值#

Index.fillna([value, method, axis, inplace, ...])

使用value或指定的method填充空值。

Index.dropna([how])

从索引中删除空行。

Index.isna()

识别缺失值。

Index.isnull()

识别缺失值。

Index.notna()

识别非缺失值。

Index.notnull()

识别非缺失值。

内存使用情况#

Index.memory_usage([deep])

返回对象的内存使用情况。

转换#

Index.astype(dtype[, copy])

创建一个将值转换为指定数据类型的索引。

Index.deserialize(header, frames)

从序列化的表示生成一个对象。

Index.device_deserialize(header, frames)

执行设备端的反序列化任务。

Index.device_serialize()

序列化与设备内存相关的数据和元数据。

Index.host_deserialize(header, frames)

执行设备端的反序列化任务。

Index.host_serialize()

序列化与主机内存相关的数据和元数据。

Index.serialize()

生成对象的等效可序列化表示。

Index.tolist()

Index.to_arrow()

转换为 PyArrow 数组。

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

将Frame转换为CuPy数组。

Index.to_list()

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

将Frame转换为NumPy数组。

Index.to_series([index, name])

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

Index.to_frame([index, name])

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

Index.to_pandas(*[, nullable, arrow_type])

转换为Pandas索引。

Index.to_dlpack()

将cuDF对象转换为DLPack张量。

Index.from_pandas(index[, nan_as_null])

从Pandas Index转换。

Index.from_arrow(obj)

从 PyArrow 数组/分块数组创建。

排序#

Index.argsort([axis, kind, order, ...])

返回将索引排序的整数索引。

Index.find_label_range(loc)

将基于标签的切片转换为基于索引的切片

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

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

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

返回索引的排序副本,并可选地返回排序索引本身的索引。

时间特定操作#

Index.shift([periods, freq])

尚未实现

组合 / 连接 / 集合操作#

Index.append(other)

将一组Index对象附加在一起。

Index.union(other[, sort])

形成两个Index对象的并集。

Index.intersection(other[, sort])

形成两个Index对象的交集。

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

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

Index.difference(other[, sort])

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

选择#

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

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

Index.get_level_values(level)

返回请求级别的值的索引。

Index.get_loc(key)

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

Index.get_slice_bound(label, side)

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

Index.isin(values[, level])

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

字符串操作#

Index.str

用于Series和Index的向量化字符串函数。

数字索引#

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

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

RangeIndex.start

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

RangeIndex.stop

stop参数的值。

RangeIndex.step

步长参数的值。

RangeIndex.to_numpy()

转换为一个numpy数组。

RangeIndex.to_arrow()

转换为合适的Arrow对象。

分类索引#

CategoricalIndex(data, *args, **kwargs)

表示另一列索引的可排序值的分类

分类组件#

CategoricalIndex.codes

此分类的类别代码。

CategoricalIndex.categories

此分类的类别。

修改和计算#

CategoricalIndex.equals(other)

测试两个对象是否包含相同的元素。

区间索引#

IntervalIndex(data, *args, **kwargs)

在同一侧封闭的区间的不可变索引。

IntervalIndex 组件#

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

从分割数组中构建一个IntervalIndex。

IntervalIndex.values

返回DataFrame的CuPy表示。

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

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

IntervalIndex.get_loc(key)

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

多级索引#

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

一个多级或分层索引。

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.from_arrow(data)

将PyArrow表转换为Frame

MultiIndex 属性#

MultiIndex.names

返回一个包含索引名称的FrozenList。

MultiIndex.levels

返回MultiIndex中的层级列表

MultiIndex.codes

返回底层MultiIndex的代码。

MultiIndex.nlevels

此MultiIndex中的级别数。

多索引组件#

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

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

MultiIndex.droplevel([level])

从MultiIndex中移除指定的层级。

MultiIndex.swaplevel([i, j])

交换第 i 层和第 j 层。

多索引选择#

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

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

MultiIndex.get_loc(key)

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

MultiIndex.get_level_values(level)

返回请求级别的值

日期时间索引#

DatetimeIndex(data, *args, **kwargs)

不可变的、有序的、可切片的datetime64数据序列,内部表示为int64。

时间/日期组件#

DatetimeIndex.year

日期时间的年份。

DatetimeIndex.month

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

DatetimeIndex.day

日期时间的天数。

DatetimeIndex.hour

日期时间的小时部分。

DatetimeIndex.minute

日期时间中的分钟部分。

DatetimeIndex.second

日期时间的秒数。

DatetimeIndex.microsecond

日期时间的微秒部分。

DatetimeIndex.nanosecond

日期时间的纳秒部分。

DatetimeIndex.day_of_year

一年中的第几天,非闰年为1-365,闰年为1-366。

DatetimeIndex.dayofyear

一年中的第几天,非闰年为1-365,闰年为1-366。

DatetimeIndex.dayofweek

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

DatetimeIndex.weekday

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

DatetimeIndex.quarter

表示日期属于一年中的哪个季度的整数指示符。

DatetimeIndex.is_leap_year

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

DatetimeIndex.isocalendar()

返回一个DataFrame,其中包含根据ISO 8601标准计算的年、周和日。

时间特定操作#

DatetimeIndex.round(freq)

对数据执行舍入操作到指定的频率。

DatetimeIndex.ceil(freq)

对数据执行向上取整操作到指定的频率。

DatetimeIndex.floor(freq)

对数据执行向下取整操作到指定的频率。

DatetimeIndex.tz_convert(tz)

将时区感知的日期时间从一个时区转换为另一个时区。

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

将无时区数据本地化为有时区数据。

转换#

DatetimeIndex.to_series([index, name])

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

DatetimeIndex.to_frame([index, name])

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

时间差索引#

TimedeltaIndex(data, *args, **kwargs)

不可变的、有序的、可切片的timedelta64数据序列,内部表示为int64。

组件#

TimedeltaIndex.days

每个元素的天数。

TimedeltaIndex.seconds

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

TimedeltaIndex.microseconds

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

TimedeltaIndex.nanoseconds

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

TimedeltaIndex.components

返回一个包含Timedeltas的组件(天、小时、分钟、秒、毫秒、微秒、纳秒)的数据框。

TimedeltaIndex.inferred_freq

推断TimedeltaIndex的频率。

转换#

TimedeltaIndex.to_series([index, name])

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

TimedeltaIndex.to_frame([index, name])

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