apache / apache/arrow

[Python] pa.scalar(pd.Timedelta) with second or millisecond unit performs invalid conversion

Open
#37,291 4 comments 0 reactions 0 assignees View on GitHub
Component: Python Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the bug, including details regarding any error messages, version, and platform.

```python
In [1]: import pandas as pd; import pyarrow as pa

In [9]: pa.scalar(pd.Timedelta(days=1).as_unit("s"))
Out[9]:

In [10]: pa.scalar(pd.Timedelta(days=1).as_unit("ms"))
Out[10]:

In [11]: pa.scalar(pd.Timedelta(days=1).as_unit("us"))
Out[11]:

In [12]: pa.scalar(pd.Timedelta(days=1).as_unit("ns"))
Out[12]:

In [13]: pa.__version__
Out[13]: '12.0.0' # same result with 13.0.0.dev715
```

I would expect all 4 results to return `datetime.timedelta(days=1)`

### Component(s)

Python

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.