Skip to content

Commit 9f2d904

Browse files
authored
Fix pyarrow chunked array conversion (dask#12034)
1 parent 8565dd2 commit 9f2d904

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

dask/dataframe/backends.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import numpy as np
77
import pandas as pd
88
import pyarrow as pa
9+
import pyarrow.compute
910
from pandas.api.types import is_scalar, union_categoricals
1011

1112
from dask.array import Array
@@ -198,7 +199,9 @@ def _(x, index=None):
198199

199200
for k, v in out.items():
200201
if isinstance(v.array, pd.arrays.ArrowExtensionArray):
201-
values = pa.chunked_array([v.array]).combine_chunks()
202+
values = pyarrow.compute.take(
203+
pyarrow.array(v.array), pyarrow.array([], type="int32")
204+
)
202205
out[k] = v._constructor(
203206
pd.array(values, dtype=v.array.dtype), index=v.index, name=v.name
204207
)
@@ -240,7 +243,6 @@ def get_pyarrow_table_from_pandas(obj, **kwargs):
240243
@from_pyarrow_table_dispatch.register((pd.DataFrame,))
241244
def get_pandas_dataframe_from_pyarrow(meta, table, **kwargs):
242245
# `kwargs` must be supported by `pyarrow.Table.to_pandas`
243-
import pyarrow as pa
244246

245247
def default_types_mapper(pyarrow_dtype: pa.DataType) -> object:
246248
# Avoid converting strings from `string[pyarrow]` to

0 commit comments

Comments
 (0)