You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Krisztian Szucs (Jira)" <ji...@apache.org> on 2020/10/06 13:56:00 UTC
[jira] [Updated] (ARROW-10194) [Python] Array.to_numpy() with type
fixed_size_list(int64(), 1) doesn't roundtrip for large integer values
[ https://issues.apache.org/jira/browse/ARROW-10194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Krisztian Szucs updated ARROW-10194:
------------------------------------
Description:
Reproducer:
{code:python}
data = [None, [9007199254740993]]
arr = pa.array(data, type=pa.list_(pa.uint64(), 1))
ndarray = arr.to_numpy(zero_copy_only=False)
restored = pa.array(ndarray, type=arr.type)
assert restored.equals(arr)
{code}
Error:
{code}
E assert False
E + where False = <built-in method equals of pyarrow.lib.FixedSizeListArray object at 0x7fbdb0239e20>(<pyarrow.lib.FixedSizeListArray object at 0x7fbdb0262220>\n[\n null,\n [\n 9007199254740993\n ]\n])
E + where <built-in method equals of pyarrow.lib.FixedSizeListArray object at 0x7fbdb0239e20> = <pyarrow.lib.FixedSizeListArray object at 0x7fbdb0239e20>\n[\n null,\n [\n 9007199254740992\n ]\n].equals
{code}
The inner numpy array ({{ndarray[1]}}) has float64 dtype where the integer gets truncated because of the precision.
was:
Reproducer:
{code:python}
data = [None, [9007199254740993]]
arr = pa.array(data, type=pa.list_(pa.uint64(), 1))
ndarray = arr.to_numpy(zero_copy_only=False)
restored = pa.array(ndarray, type=arr.type)
assert restored.equals(arr)
{code}
Error:
{code}
E assert False
E + where False = <built-in method equals of pyarrow.lib.FixedSizeListArray object at 0x7fc0c86badc0>(<pyarrow.lib.FixedSizeListArray object at 0x7fc068496760>\n[\n null,\n [\n 90071992547409944\n ]\n])
E + where <built-in method equals of pyarrow.lib.FixedSizeListArray object at 0x7fc0c86badc0> = <pyarrow.lib.FixedSizeListArray object at 0x7fc0c86badc0>\n[\n null,\n [\n 90071992547409952\n ]\n].equals
{code}
The inner numpy array ({{ndarray[1]}}) has float64 dtype where the integer gets truncated because of the precision.
> [Python] Array.to_numpy() with type fixed_size_list(int64(), 1) doesn't roundtrip for large integer values
> ----------------------------------------------------------------------------------------------------------
>
> Key: ARROW-10194
> URL: https://issues.apache.org/jira/browse/ARROW-10194
> Project: Apache Arrow
> Issue Type: Bug
> Components: Python
> Reporter: Krisztian Szucs
> Priority: Major
>
> Reproducer:
> {code:python}
> data = [None, [9007199254740993]]
> arr = pa.array(data, type=pa.list_(pa.uint64(), 1))
> ndarray = arr.to_numpy(zero_copy_only=False)
> restored = pa.array(ndarray, type=arr.type)
> assert restored.equals(arr)
> {code}
> Error:
> {code}
> E assert False
> E + where False = <built-in method equals of pyarrow.lib.FixedSizeListArray object at 0x7fbdb0239e20>(<pyarrow.lib.FixedSizeListArray object at 0x7fbdb0262220>\n[\n null,\n [\n 9007199254740993\n ]\n])
> E + where <built-in method equals of pyarrow.lib.FixedSizeListArray object at 0x7fbdb0239e20> = <pyarrow.lib.FixedSizeListArray object at 0x7fbdb0239e20>\n[\n null,\n [\n 9007199254740992\n ]\n].equals
> {code}
> The inner numpy array ({{ndarray[1]}}) has float64 dtype where the integer gets truncated because of the precision.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)