pyarrow.UnionType#
- class pyarrow.UnionType#
Bases:
DataType
Base class for union data types.
Examples
Create an instance of a dense UnionType using
pa.union
:>>> import pyarrow as pa >>> 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 using
pa.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 using
pa.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 using
pa.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 for fixed width type.
Byte width for fixed width type.
If True, the number of expected buffers is only lower-bounded by num_buffers.
The mode of the union ("dense" or "sparse").
Number of data buffers required to construct Array type excluding children.
The number of child fields.
The type code to indicate each data type in this union.
- bit_width#
Bit width for fixed width type.
Examples
>>> import pyarrow as pa >>> pa.int64() DataType(int64) >>> pa.int64().bit_width 64
- byte_width#
Byte width for fixed width type.
Examples
>>> import pyarrow as pa >>> pa.int64() DataType(int64) >>> pa.int64().byte_width 8
- equals(self, other, *, check_metadata=False)#
Return true if type is equivalent to passed value.
- Parameters:
- Returns:
- is_equalbool
Examples
>>> import pyarrow as pa >>> 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:
- i
int
- i
- Returns:
Examples
>>> import pyarrow as pa >>> 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 only lower-bounded by num_buffers.
Examples
>>> import pyarrow as pa >>> pa.int64().has_variadic_buffers False >>> pa.string_view().has_variadic_buffers True
- id#
- mode#
The mode of the union (“dense” or “sparse”).
Examples
>>> import pyarrow as pa >>> 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 type excluding children.
Examples
>>> import pyarrow as pa >>> pa.int64().num_buffers 2 >>> pa.string().num_buffers 3
- num_fields#
The number of child fields.
Examples
>>> import pyarrow as pa >>> pa.int64() DataType(int64) >>> pa.int64().num_fields 0 >>> pa.list_(pa.string()) ListType(list<item: string>) >>> pa.list_(pa.string()).num_fields 1 >>> struct = pa.struct({'x': pa.int32(), 'y': pa.string()}) >>> struct.num_fields 2
- to_pandas_dtype(self)#
Return the equivalent NumPy / Pandas dtype.
Examples
>>> import pyarrow as pa >>> pa.int64().to_pandas_dtype() <class 'numpy.int64'>
- type_codes#
The type code to indicate each data type in this union.
Examples
>>> import pyarrow as pa >>> union = pa.sparse_union([pa.field('a', pa.binary(10)), pa.field('b', pa.string())]) >>> union.type_codes [0, 1]