You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Joris Van den Bossche (Jira)" <ji...@apache.org> on 2020/02/14 09:34:00 UTC
[jira] [Commented] (ARROW-7857) [Python] Failing test with pandas
master for extension type conversion
[ https://issues.apache.org/jira/browse/ARROW-7857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17036839#comment-17036839 ]
Joris Van den Bossche commented on ARROW-7857:
----------------------------------------------
The test can easily be fixed on our side, but it would also be solved by implementing casting for extension types: ARROW-7858
> [Python] Failing test with pandas master for extension type conversion
> ----------------------------------------------------------------------
>
> Key: ARROW-7857
> URL: https://issues.apache.org/jira/browse/ARROW-7857
> Project: Apache Arrow
> Issue Type: Test
> Components: Python
> Reporter: Joris Van den Bossche
> Assignee: Joris Van den Bossche
> Priority: Major
>
> The pandas master test build has one failure
> {code}
> _______________ test_conversion_extensiontype_to_extensionarray ________________
> monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fcd6c580bd0>
> def test_conversion_extensiontype_to_extensionarray(monkeypatch):
> # converting extension type to linked pandas ExtensionDtype/Array
> import pandas.core.internals as _int
>
> storage = pa.array([1, 2, 3, 4], pa.int64())
> arr = pa.ExtensionArray.from_storage(MyCustomIntegerType(), storage)
> table = pa.table({'a': arr})
>
> if LooseVersion(pd.__version__) < "0.26.0.dev":
> # ensure pandas Int64Dtype has the protocol method (for older pandas)
> monkeypatch.setattr(
> pd.Int64Dtype, '__from_arrow__', _Int64Dtype__from_arrow__,
> raising=False)
>
> # extension type points to Int64Dtype, which knows how to create a
> # pandas ExtensionArray
> > result = table.to_pandas()
> opt/conda/envs/arrow/lib/python3.7/site-packages/pyarrow/tests/test_pandas.py:3560:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> pyarrow/ipc.pxi:559: in pyarrow.lib.read_message
> ???
> pyarrow/table.pxi:1369: in pyarrow.lib.Table._to_pandas
> ???
> opt/conda/envs/arrow/lib/python3.7/site-packages/pyarrow/pandas_compat.py:764: in table_to_blockmanager
> blocks = _table_to_blocks(options, table, categories, ext_columns_dtypes)
> opt/conda/envs/arrow/lib/python3.7/site-packages/pyarrow/pandas_compat.py:1102: in _table_to_blocks
> for item in result]
> opt/conda/envs/arrow/lib/python3.7/site-packages/pyarrow/pandas_compat.py:1102: in <listcomp>
> for item in result]
> opt/conda/envs/arrow/lib/python3.7/site-packages/pyarrow/pandas_compat.py:723: in _reconstruct_block
> pd_ext_arr = pandas_dtype.__from_arrow__(arr)
> opt/conda/envs/arrow/lib/python3.7/site-packages/pandas/core/arrays/integer.py:108: in __from_arrow__
> array = array.cast(pyarrow_type)
> pyarrow/table.pxi:240: in pyarrow.lib.ChunkedArray.cast
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> > ???
> E pyarrow.lib.ArrowNotImplementedError: No cast implemented from extension<arrow.py_extension_type> to int64
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)