Describe the bug, including details regarding any error messages, version, and platform.
This is using PyArrow 18.0.0.
It looks like passing an array of int64 fails when trying to use that as input for constructing a decimal128 array, while using a Python list of int successfully constructs the array.
Reproducible example:
In [52]: import pyarrow as pa
In [53]: import numpy as np
In [54]: pa.array(np.array([1]), pa.decimal128(38, 9))
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ in <module>:1 │
│ │
│ in pyarrow.lib.array:360 │
│ │
│ in pyarrow.lib._ndarray_to_array:87 │
│ │
│ in pyarrow.lib.check_status:92 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ArrowInvalid: Got bytestring of length 8 (expected 16)
In [55]: pa.array([1], pa.decimal128(38, 9))
Out[55]:
<pyarrow.lib.Decimal128Array object at 0x7f0ccef07040>
[
1.000000000
]
Describe the bug, including details regarding any error messages, version, and platform.
This is using PyArrow 18.0.0.
It looks like passing an array of
int64
fails when trying to use that as input for constructing adecimal128
array, while using a Python list ofint
successfully constructs the array.Reproducible example:
Component(s)
Python