索引对象#

Index#

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

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

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

属性#

Index.dtype

Index 中底层值的 dtype

Index.duplicated([keep])

指示重复的索引值。

Index.empty

Index.has_duplicates

Index.hasnans

如果存在任何 NaNs 或 nulls,则返回 True。

Index.is_monotonic_increasing

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

Index.is_monotonic_decreasing

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

Index.is_unique

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

Index.name

获取此对象的名称。

Index.names

返回包含 Index 名称的 FrozenList。

Index.ndim

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

Index.nlevels

层级数。

Index.shape

获取表示 Index 维度的元组。

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 是否仅由布尔值组成。

Index.is_categorical()

检查 Index 是否包含分类数据。

Index.is_floating()

检查 Index 是否为浮点类型。

Index.is_integer()

检查 Index 是否仅由整数组成。

Index.is_interval()

检查 Index 是否包含 Interval 对象。

Index.is_numeric()

检查 Index 是否仅由数值数据组成。

Index.is_object()

检查 Index 是否为 object dtype。

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

返回 DataFrame 中值的最小值。

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

返回 DataFrame 中值的最大值。

Index.rename(name[, inplace])

修改 Index 名称。

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

缺失值#

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

使用 value 或指定 method 填充 null 值。

Index.dropna([how])

从 Index 中删除 null 行。

Index.isna()

识别缺失值。

Index.isnull()

识别缺失值。

Index.notna()

识别非缺失值。

Index.notnull()

识别非缺失值。

内存使用#

Index.memory_usage([deep])

返回对象的内存使用。

转换#

Index.astype(dtype[, copy])

创建一个将值转换为指定 dtype 的 Index。

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 Array。

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

创建一个包含此 Index 作为列的 DataFrame

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

转换为 Pandas Index。

Index.to_dlpack()

将 cuDF 对象转换为 DLPack tensor。

Index.from_pandas(index[, nan_as_null])

从 Pandas Index 转换。

Index.from_arrow(obj)

从 PyArrow Array/ChunkedArray 创建。

排序#

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 和索引器,使数据结构符合新索引。

Index.difference(other[, sort])

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

选择#

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

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

Index.get_level_values(level)

返回请求层级的值的 Index。

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

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

RangeIndex.start

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

RangeIndex.stop

stop 参数的值。

RangeIndex.step

step 参数的值。

RangeIndex.to_numpy()

转换为 numpy 数组。

RangeIndex.to_arrow()

转换为合适的 Arrow 对象。

CategoricalIndex#

CategoricalIndex(data, *args, **kwargs)

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

分类组件#

CategoricalIndex.codes

此分类的类别代码。

CategoricalIndex.categories

此分类的类别。

修改与计算#

CategoricalIndex.equals(other)

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

IntervalIndex#

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#

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 Table 转换为 Frame

MultiIndex 属性#

MultiIndex.names

返回包含 Index 名称的 FrozenList。

MultiIndex.levels

返回 MultiIndex 中的层级列表

MultiIndex.codes

返回底层 MultiIndex 的代码。

MultiIndex.nlevels

此 MultiIndex 中的整数层级数。

MultiIndex 组件#

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

创建一个 DataFrame,其列为 MultiIndex 的层级。

MultiIndex.droplevel([level])

从 MultiIndex 中移除指定层级。

MultiIndex.swaplevel([i, j])

交换层级 i 与层级 j。

MultiIndex 选择#

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

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

MultiIndex.get_loc(key)

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

MultiIndex.get_level_values(level)

返回请求层级的值

DatetimeIndex#

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)

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

DatetimeIndex.ceil(freq)

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

DatetimeIndex.floor(freq)

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

DatetimeIndex.tz_convert(tz)

将 tz-aware 日期时间从一个时区转换为另一个时区。

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

将时区 naive 数据本地化为时区 aware 数据。

转换#

DatetimeIndex.to_series([index, name])

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

DatetimeIndex.to_frame([index, name])

创建一个包含此 Index 作为列的 DataFrame

TimedeltaIndex#

TimedeltaIndex(data, *args, **kwargs)

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

组件#

TimedeltaIndex.days

每个元素的日数。

TimedeltaIndex.seconds

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

TimedeltaIndex.microseconds

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

TimedeltaIndex.nanoseconds

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

TimedeltaIndex.components

返回一个 DataFrame,其中包含 Timedeltas 的组件(天、小时、分钟、秒、毫秒、微秒、纳秒)。

TimedeltaIndex.inferred_freq

推断 TimedeltaIndex 的频率。

转换#

TimedeltaIndex.to_series([index, name])

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

TimedeltaIndex.to_frame([index, name])

创建一个包含此 Index 作为列的 DataFrame