ak.to_feather#
Defined in awkward.operations.ak_to_feather on line 16.
- ak.to_feather(array, destination, *, list_to32=False, string_to32=True, bytestring_to32=True, emptyarray_to=None, categorical_as_dictionary=False, extensionarray=True, count_nulls=True, compression='zstd', compression_level=None, chunksize=None, feather_version=2)#
- Parameters:
array – Array-like data (anything
ak.to_layout
recognizes).destination (str) – Local destination path, passed to pyarrow.feather.write_feather.
list_to32 (bool) – If True, convert Awkward lists into 32-bit Arrow lists if they’re small enough, even if it means an extra conversion. Otherwise, signed 32-bit
ak.types.ListType
maps to ArrowListType
, signed 64-bitak.types.ListType
maps to ArrowLargeListType
, and unsigned 32-bitak.types.ListType
picks whichever Arrow type its values fit into.string_to32 (bool) – Same as the above for Arrow
string
andlarge_string
.bytestring_to32 (bool) – Same as the above for Arrow
binary
andlarge_binary
.emptyarray_to (None or dtype) – If None,
ak.types.UnknownType
maps to Arrow’s null type; otherwise, it is converted a given numeric dtype.categorical_as_dictionary (bool) – If True,
ak.contents.IndexedArray
andak.contents.IndexedOptionArray
labeled with__array__ = "categorical"
are mapped to ArrowDictionaryArray
; otherwise, the projection is evaluated before conversion (always the case without__array__ = "categorical"
).extensionarray (bool) – If True, this function returns extended Arrow arrays (at all levels of nesting), which preserve metadata so that Awkward → Arrow → Awkward preserves the array’s
ak.types.Type
(though not theak.forms.Form
). If False, this function returns generic Arrow arrays that might be needed for third-party tools that don’t recognize Arrow’s extensions. Even withextensionarray=False
, the values produced by Arrow’sto_pylist
method are the same as the values produced by Awkward’sak.to_list
.count_nulls (bool) – If True, count the number of missing values at each level and include these in the resulting Arrow array, which makes some downstream applications faster. If False, skip the up-front cost of counting them.
compression (None or str) – Can be one of {“zstd”, “lz4”, “uncompressed”}. The default of None uses LZ4 for
feather_version=2
files if it is available, otherwise uncompressed. Passed to pyarrow.feather.write_feather.compression_level (None or int) – Use a compression level particular to the chosen compressor. If None use the default compression level. Passed to pyarrow.feather.write_feather.
chunksize (None or int) – For
feather_version=2
files, this is the internal maximum size of Arrow RecordBatch chunks when writing the Arrow IPC file format. None means use the default, which is currently 64K. Passed to pyarrow.feather.write_feather.feather_version (int) – Feather file version, passed to pyarrow.feather.write_feather. Version 2 is the current. Version 1 is the more limited legacy format. If not provided, version 2 is used.
Writes an Awkward Array to a Feather file (through pyarrow).
>>> array = ak.Array([[1.1, 2.2, 3.3], [], [4.4, 5.5]])
>>> ak.to_feather(array, "filename.feather")
If the array
does not contain records at top-level, the Arrow table will
consist of one field whose name is ""
iff. extensionarray
is False.
If extensionarray
is True``, use a custom Arrow extension to store this array.
Otherwise, generic Arrow arrays are used, and if the array
does not
contain records at top-level, the Arrow table will consist of one field whose
name is ""
. See ak.to_arrow_table
for more details.
See also ak.from_feather
.