pyarrow.DictionaryType#

class pyarrow.DictionaryType#

Bases: DataType

Concrete class for dictionary data types.

Examples

Create an instance of dictionary type:

>>> import pyarrow as pa
>>> pa.dictionary(pa.int64(), pa.utf8())
DictionaryType(dictionary<values=string, indices=int64, ordered=0>)
__init__(*args, **kwargs)#

Methods

__init__(*args, **kwargs)

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

Return true if type is equivalent to passed value.

field(self, i)

Parameters:

to_pandas_dtype(self)

Return the equivalent NumPy / Pandas dtype.

Attributes

bit_width

Bit width for fixed width type.

id

index_type

The data type of dictionary indices (a signed integer type).

num_buffers

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

num_fields

The number of child fields.

ordered

Whether the dictionary is ordered, i.e. whether the ordering of values in the dictionary is important.

value_type

The dictionary value type.

bit_width#

Bit width for fixed width type.

Examples

>>> import pyarrow as pa
>>> pa.int64()
DataType(int64)
>>> pa.int64().bit_width
64
equals(self, other, *, check_metadata=False)#

Return true if type is equivalent to passed value.

Parameters:
otherDataType or str convertible to DataType
check_metadatabool

Whether nested Field metadata equality should be checked as well.

Returns:
is_equalbool

Examples

>>> import pyarrow as pa
>>> pa.int64().equals(pa.string())
False
>>> pa.int64().equals(pa.int64())
True
field(self, i) Field#
Parameters:
iint
Returns:
pyarrow.Field
id#
index_type#

The data type of dictionary indices (a signed integer type).

Examples

>>> import pyarrow as pa
>>> pa.dictionary(pa.int16(), pa.utf8()).index_type
DataType(int16)
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
ordered#

Whether the dictionary is ordered, i.e. whether the ordering of values in the dictionary is important.

Examples

>>> import pyarrow as pa
>>> pa.dictionary(pa.int64(), pa.utf8()).ordered
False
to_pandas_dtype(self)#

Return the equivalent NumPy / Pandas dtype.

Examples

>>> import pyarrow as pa
>>> pa.int64().to_pandas_dtype()
<class 'numpy.int64'>
value_type#

The dictionary value type.

The dictionary values are found in an instance of DictionaryArray.

Examples

>>> import pyarrow as pa
>>> pa.dictionary(pa.int16(), pa.utf8()).value_type
DataType(string)