ivirshup opened a new issue, #51145:
URL: https://github.com/apache/arrow/issues/51145

   ### Describe the enhancement requested
   
   The `.slice` methods take two integers as arguments, but cannot take arrow 
integer types.
   
   ```python
   import pyarrow as pa
   
   a = pa.array([0, 1, 2, 3, 4, 5])
   
   a.slice(0, 4)
   # <pyarrow.lib.Int64Array object at 0x798d8fec2ce0>
   # [
   #   1,
   #   2,
   #   3,
   #   4
   # ]
   
   a.slice(a[0], a[4])
   # ---------------------------------------------------------------------------
   # TypeError                                 Traceback (most recent call last)
   # Cell In[12], line 1
   # ----> 1 a.slice(a[0], a[4])
   #
   # File pyarrow/array.pxi:1639, in pyarrow.lib.Array.slice()
   # -> 1639 'Could not get source, probably due dynamically evaluated source 
code.'
   #
   # TypeError: '<' not supported between instances of 
'pyarrow.lib.Int64Scalar' and 'int'
   ```
   
   The same is true for tables:
   
   ```python
   t = pa.Table.from_pydict({"a": a})
   
   t.slice(a[0], a[4])
   # ---------------------------------------------------------------------------
   # TypeError                                 Traceback (most recent call last)
   # Cell In[13], line 1
   # ----> 1 t.slice(a[0], a[4])
   
   # File pyarrow/table.pxi:4299, in pyarrow.lib.Table.slice()
   # -> 4299 'Could not get source, probably due dynamically evaluated source 
code.'
   
   # TypeError: '<' not supported between instances of 
'pyarrow.lib.Int64Scalar' and 'int'
   ```
   
   This is not generally true of other methods. For example, `.take` is fine 
with getting an arrow array. I can even do `a[slice(a[0], a[0] + a[4])]`, where 
that `slice` contains pyarrow scalars.
   
   I think it is kinda silly that if I have offsets for an arrow table in 
another arrow table I am having to convert those offsets to python integers 
(e.g. `t.slice(a[0].as_py(), a[4].as_py())`) or converting to indexing with a 
`slice` object.
   
   ### Component(s)
   
   Python


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to