This is an automated email from the ASF dual-hosted git repository.
wesm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 62c55ec ARROW-2133: [Python] Fix segfault on conversion of empty
nested array to Pandas
62c55ec is described below
commit 62c55ecdb237c73a96553252937e92180dffd4eb
Author: Antoine Pitrou <[email protected]>
AuthorDate: Mon Feb 12 14:45:34 2018 -0500
ARROW-2133: [Python] Fix segfault on conversion of empty nested array to
Pandas
Based on PR #1588
Author: Antoine Pitrou <[email protected]>
Closes #1591 from pitrou/ARROW-2133-segfault-nested-array-to-pandas and
squashes the following commits:
3ac6e522 [Antoine Pitrou] ARROW-2133: [Python] Fix segfault on conversion
of empty nested arrays to Pandas
---
cpp/src/arrow/python/arrow_to_pandas.cc | 2 +-
python/pyarrow/tests/test_convert_pandas.py | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/cpp/src/arrow/python/arrow_to_pandas.cc
b/cpp/src/arrow/python/arrow_to_pandas.cc
index 0488989..125892a 100644
--- a/cpp/src/arrow/python/arrow_to_pandas.cc
+++ b/cpp/src/arrow/python/arrow_to_pandas.cc
@@ -519,7 +519,7 @@ inline Status ConvertListsLike(PandasOptions options, const
std::shared_ptr<Colu
// TODO(ARROW-489): Currently we don't have a Python reference for single
columns.
// Storing a reference to the whole Array would be to expensive.
- OwnedRef owned_numpy_array;
+ OwnedRefNoGIL owned_numpy_array;
RETURN_NOT_OK(
ConvertColumnToPandas(options, flat_column, nullptr,
owned_numpy_array.ref()));
diff --git a/python/pyarrow/tests/test_convert_pandas.py
b/python/pyarrow/tests/test_convert_pandas.py
index b825dfc..026cd25 100644
--- a/python/pyarrow/tests/test_convert_pandas.py
+++ b/python/pyarrow/tests/test_convert_pandas.py
@@ -1351,6 +1351,10 @@ class TestPandasConversion(object):
tm.assert_almost_equal(arr.to_pandas(), np.array([], dtype=np.int64))
arr = pa.array([], type=pa.string())
tm.assert_almost_equal(arr.to_pandas(), np.array([], dtype=object))
+ arr = pa.array([], type=pa.list_(pa.int64()))
+ tm.assert_almost_equal(arr.to_pandas(), np.array([], dtype=object))
+ arr = pa.array([], type=pa.struct([pa.field('a', pa.int64())]))
+ tm.assert_almost_equal(arr.to_pandas(), np.array([], dtype=object))
def test_array_from_pandas_date_with_mask(self):
m = np.array([True, False, True])
--
To stop receiving notification emails like this one, please contact
[email protected].