pyarrow.UnionType#

classpyarrow.UnionType#

Bases:DataType

Base class for union data types.

Examples

Create an instance of a dense UnionType usingpa.union:

>>>importpyarrowaspa>>>pa.union([pa.field('a',pa.binary(10)),pa.field('b',pa.string())],...mode=pa.lib.UnionMode_DENSE),(DenseUnionType(dense_union<a: fixed_size_binary[10]=0, b: string=1>),)

Create an instance of a dense UnionType usingpa.dense_union:

>>>pa.dense_union([pa.field('a',pa.binary(10)),pa.field('b',pa.string())])DenseUnionType(dense_union<a: fixed_size_binary[10]=0, b: string=1>)

Create an instance of a sparse UnionType usingpa.union:

>>>pa.union([pa.field('a',pa.binary(10)),pa.field('b',pa.string())],...mode=pa.lib.UnionMode_SPARSE),(SparseUnionType(sparse_union<a: fixed_size_binary[10]=0, b: string=1>),)

Create an instance of a sparse UnionType usingpa.sparse_union:

>>>pa.sparse_union([pa.field('a',pa.binary(10)),pa.field('b',pa.string())])SparseUnionType(sparse_union<a: fixed_size_binary[10]=0, b: string=1>)
__init__(*args,**kwargs)#

Methods

__init__(*args, **kwargs)

equals(self, other, *[, check_metadata])

Return true if type is equivalent to passed value.

field(self, i)

Return a child field by its numeric index.

to_pandas_dtype(self)

Return the equivalent NumPy / Pandas dtype.

Attributes

bit_width

Bit width for fixed width type.

byte_width

Byte width for fixed width type.

has_variadic_buffers

If True, the number of expected buffers is only lower-bounded by num_buffers.

id

mode

The mode of the union ("dense" or "sparse").

num_buffers

Number of data buffers required to construct Array type excluding children.

num_fields

The number of child fields.

type_codes

The type code to indicate each data type in this union.

bit_width#

Bit width for fixed width type.

Examples

>>>importpyarrowaspa>>>pa.int64()DataType(int64)>>>pa.int64().bit_width64
byte_width#

Byte width for fixed width type.

Examples

>>>importpyarrowaspa>>>pa.int64()DataType(int64)>>>pa.int64().byte_width8
equals(self,other,*,check_metadata=False)#

Return true if type is equivalent to passed value.

Parameters:
otherDataType orstrconvertible toDataType
check_metadatabool

Whether nested Field metadata equality should be checked as well.

Returns:
is_equalbool

Examples

>>>importpyarrowaspa>>>pa.int64().equals(pa.string())False>>>pa.int64().equals(pa.int64())True
field(self,i)Field#

Return a child field by its numeric index.

Parameters:
iint
Returns:
pyarrow.Field

Examples

>>>importpyarrowaspa>>>union=pa.sparse_union([pa.field('a',pa.binary(10)),pa.field('b',pa.string())])>>>union[0]pyarrow.Field<a: fixed_size_binary[10]>
has_variadic_buffers#

If True, the number of expected buffers is onlylower-bounded by num_buffers.

Examples

>>>importpyarrowaspa>>>pa.int64().has_variadic_buffersFalse>>>pa.string_view().has_variadic_buffersTrue
id#
mode#

The mode of the union (“dense” or “sparse”).

Examples

>>>importpyarrowaspa>>>union=pa.sparse_union([pa.field('a',pa.binary(10)),pa.field('b',pa.string())])>>>union.mode'sparse'
num_buffers#

Number of data buffers required to construct Array typeexcluding children.

Examples

>>>importpyarrowaspa>>>pa.int64().num_buffers2>>>pa.string().num_buffers3
num_fields#

The number of child fields.

Examples

>>>importpyarrowaspa>>>pa.int64()DataType(int64)>>>pa.int64().num_fields0>>>pa.list_(pa.string())ListType(list<item: string>)>>>pa.list_(pa.string()).num_fields1>>>struct=pa.struct({'x':pa.int32(),'y':pa.string()})>>>struct.num_fields2
to_pandas_dtype(self)#

Return the equivalent NumPy / Pandas dtype.

Examples

>>>importpyarrowaspa>>>pa.int64().to_pandas_dtype()<class 'numpy.int64'>
type_codes#

The type code to indicate each data type in this union.

Examples

>>>importpyarrowaspa>>>union=pa.sparse_union([pa.field('a',pa.binary(10)),pa.field('b',pa.string())])>>>union.type_codes[0, 1]