数据类型与模式#

工厂函数#

这些函数用于创建 Arrow 数据类型和模式。

空 (null)()

创建 null 类型实例。

bool_()

创建布尔类型实例。

int8()

创建有符号 int8 类型实例。

int16()

创建有符号 int16 类型实例。

int32()

创建有符号 int32 类型实例。

int64()

创建有符号 int64 类型实例。

uint8()

创建无符号 int8 类型实例。

uint16()

创建无符号 uint16 类型实例。

uint32()

创建无符号 uint32 类型实例。

uint64()

创建无符号 uint64 类型实例。

float16()

创建半精度浮点类型。

float32()

创建单精度浮点类型。

float64()

创建双精度浮点类型。

time32(unit)

创建具有单位精度的 32 位时间(一天中的时间)类型实例。

time64(unit)

创建具有单位精度的 64 位时间(一天中的时间)类型实例。

timestamp(unit[, tz])

创建具有精度和可选时区的时间戳类型实例。

date32()

创建 32 位日期类型实例(自 UNIX 纪元 1970-01-01 起的天数)。

date64()

创建 64 位日期类型实例(自 UNIX 纪元 1970-01-01 起的毫秒数)。

duration(unit)

创建具有单位精度的持续时间类型实例。

month_day_nano_interval()

创建表示两个日期之间的月、日和纳秒的间隔类型实例。

binary(int length=-1)

创建可变长度或固定大小的二进制类型。

string()

创建 UTF8 可变长度字符串类型。

utf8()

string() 的别名。

large_binary()

创建大型可变长度二进制类型。

large_string()

创建大型 UTF8 可变长度字符串类型。

large_utf8()

large_string() 的别名。

binary_view()

创建可变长度二进制视图类型。

string_view()

创建 UTF8 可变长度字符串视图类型。

decimal128(int precision, int scale=0)

创建精度、标度和 128 位宽度的十进制类型。

decimal256(int precision, int scale=0)

创建精度、标度和 256 位宽度的十进制类型。

list_(value_type, int list_size=-1)

从子数据类型或字段创建 ListType 实例。

large_list(value_type)

从子数据类型或字段创建 LargeListType 实例。

list_view(value_type)

从子数据类型或字段创建 ListViewType 实例。

large_list_view(value_type)

从子数据类型或字段创建 LargeListViewType 实例。

map_(key_type, item_type[, keys_sorted])

从键和项数据类型或字段创建 MapType 实例。

struct(fields)

从字段创建 StructType 实例。

dictionary(index_type, value_type, ...)

字典(分类或简单编码)类型。

run_end_encoded(run_end_type, value_type)

从运行结束和值类型创建 RunEndEncodedType。

fixed_shape_tensor(DataType value_type, shape)

创建固定形状张量扩展类型实例,包含形状、可选的张量维度名称以及所需逻辑排序的索引。

union(child_fields, mode[, type_codes])

从子字段创建 UnionType。

dense_union(child_fields[, type_codes])

从子字段创建 DenseUnionType。

sparse_union(child_fields[, type_codes])

从子字段创建 SparseUnionType。

opaque(DataType storage_type, str type_name, ...)

创建不透明扩展类型实例。

bool8()

创建 bool8 扩展类型实例。

uuid()

创建 UuidType 实例。

json_(DataType storage_type=utf8)

创建 JSON 扩展类型实例。

field(name[, type, nullable, metadata])

创建 pyarrow.Field 实例。

schema(fields[, metadata])

从字段集合构建 pyarrow.Schema。

from_numpy_dtype(dtype)

将 NumPy 数据类型转换为 pyarrow.DataType。

实用函数#

unify_schemas(schemas, *[, promote_options])

通过按名称合并字段来统一模式。

类型类#

请勿直接实例化这些类。请改用上面的工厂函数。

DataType()

所有 Arrow 数据类型的基类。

DictionaryType

字典数据类型的具体类。

ListType

列表数据类型的具体类。

ListViewType

列表视图数据类型的具体类。

FixedSizeListType

固定大小列表数据类型的具体类。

LargeListType

大型列表数据类型的具体类(类似于 ListType,但具有 64 位偏移量)。

LargeListViewType

大型列表视图数据类型的具体类(类似于 ListViewType,但具有 64 位偏移量)。

MapType

映射数据类型的具体类。

StructType

结构体数据类型的具体类。

UnionType

联合数据类型的基类。

DenseUnionType

稠密联合类型的具体类。

SparseUnionType

稀疏联合类型的具体类。

TimestampType

时间戳数据类型的具体类。

Time32Type

time32 数据类型的具体类。

Time64Type

time64 数据类型的具体类。

DurationType

持续时间数据类型的具体类。

FixedSizeBinaryType

固定大小二进制数据类型的具体类。

Decimal32Type

decimal32 数据类型的具体类。

Decimal64Type

decimal64 数据类型的具体类。

Decimal128Type

decimal128 数据类型的具体类。

Decimal256Type

decimal256 数据类型的具体类。

Field()

具有数据类型、可空性和可选元数据的命名字段。

Schema()

类型的命名集合,即模式(schema)。

RunEndEncodedType

运行结束编码类型的具体类。

扩展类型的特定类和函数。

BaseExtensionType

扩展类型的具体基类。

ExtensionType(DataType storage_type, ...)

Python 定义的扩展类型的具体基类。

UnknownExtensionType(DataType storage_type, ...)

引用未知 Python 实现的 Python 定义扩展类型的具体类。

register_extension_type(ext_type)

注册一个 Python 扩展类型。

unregister_extension_type(type_name)

注销一个 Python 扩展类型。

由 PyArrow 实现的规范扩展类型

FixedShapeTensorType

固定形状张量扩展类型的具体类。

OpaqueType

不透明扩展类型的具体类。

JsonType

JSON 扩展类型的具体类。

UuidType

UUID 扩展类型的具体类。

Bool8Type

bool8 扩展类型的具体类。

类型检查#

这些函数是用于检查 DataType 实例是否表示给定数据类型(例如 int32)或一般类别(例如“是有符号整数”)的谓词。

is_boolean(t)

如果值为布尔类型实例,则返回 True。

is_integer(t)

如果值为任何整数类型实例,则返回 True。

is_signed_integer(t)

如果值为有符号整数类型实例,则返回 True。

is_unsigned_integer(t)

如果值为无符号整数类型实例,则返回 True。

is_int8(t)

如果值为 int8 类型实例,则返回 True。

is_int16(t)

如果值为 int16 类型实例,则返回 True。

is_int32(t)

如果值为 int32 类型实例,则返回 True。

is_int64(t)

如果值为 int64 类型实例,则返回 True。

is_uint8(t)

如果值为 uint8 类型实例,则返回 True。

is_uint16(t)

如果值为 uint16 类型实例,则返回 True。

is_uint32(t)

如果值为 uint32 类型实例,则返回 True。

is_uint64(t)

如果值为 uint64 类型实例,则返回 True。

is_floating(t)

如果值为浮点数值类型实例,则返回 True。

is_float16(t)

如果值为 float16(半精度)类型实例,则返回 True。

is_float32(t)

如果值为 float32(单精度)类型实例,则返回 True。

is_float64(t)

如果值为 float64(双精度)类型实例,则返回 True。

is_decimal(t)

如果值为十进制类型实例,则返回 True。

is_decimal128(t)

如果值为 decimal128 类型实例,则返回 True。

is_decimal256(t)

如果值为 decimal256 类型实例,则返回 True。

is_list(t)

如果值为列表类型实例,则返回 True。

is_large_list(t)

如果值为大型列表类型实例,则返回 True。

is_fixed_size_list(t)

如果值为固定大小列表类型实例,则返回 True。

is_list_view(t)

如果值为列表视图类型实例,则返回 True。

is_large_list_view(t)

如果值为大型列表视图类型实例,则返回 True。

is_struct(t)

如果值为结构体类型实例,则返回 True。

is_union(t)

如果值为联合类型实例,则返回 True。

is_nested(t)

如果值为嵌套类型实例,则返回 True。

is_run_end_encoded(t)

如果值为运行结束编码类型实例,则返回 True。

is_temporal(t)

如果值为日期、时间、时间戳或持续时间类型实例,则返回 True。

is_timestamp(t)

如果值为时间戳类型实例,则返回 True。

is_date(t)

如果值为日期类型实例,则返回 True。

is_date32(t)

如果值为 date32(天)类型实例,则返回 True。

is_date64(t)

如果值为 date64(毫秒)类型实例,则返回 True。

is_time(t)

如果值为时间类型实例,则返回 True。

is_time32(t)

如果值为 time32 类型实例,则返回 True。

is_time64(t)

如果值为 time64 类型实例,则返回 True。

is_duration(t)

如果值为持续时间类型实例,则返回 True。

is_interval(t)

如果值为间隔类型实例,则返回 True。

is_null(t)

如果值为 null 类型实例,则返回 True。

is_binary(t)

如果值为可变长度二进制类型实例,则返回 True。

is_unicode(t)

is_string 的别名。

is_string(t)

如果值为字符串(utf8 unicode)类型实例,则返回 True。

is_large_binary(t)

如果值为大型可变长度二进制类型实例,则返回 True。

is_large_unicode(t)

is_large_string 的别名。

is_large_string(t)

如果值为大型字符串(utf8 unicode)类型实例,则返回 True。

is_binary_view(t)

如果值为可变长度二进制视图类型实例,则返回 True。

is_string_view(t)

如果值为可变长度字符串(utf-8)视图类型实例,则返回 True。

is_fixed_size_binary(t)

如果值为固定大小二进制类型实例,则返回 True。

is_map(t)

如果值为映射类型实例,则返回 True。

is_dictionary(t)

如果值为字典编码类型实例,则返回 True。

is_primitive(t)

如果值为原始类型实例,则返回 True。

可用于直接类型检查的 Types 枚举。

TypesEnum(*values)

将常量值映射到数据类型的枚举。