Pandas version checks
-
[x] I have checked that this issue has not already been reported.
-
[x] I have confirmed this bug exists on the latest version of pandas.
-
[x] I have confirmed this bug exists on the main branch of pandas.
Reproducible Example
left = pd.Series([None], dtype="date32[pyarrow]")
right = pd.Series([None], dtype="null[pyarrow]")
result = pd.concat([left, right])
>>> result.dtype
timestamp[ms][pyarrow]
Issue Description
In ArrowDtype._get_common_dtype we go through
new_dtype = find_common_type(
[
dtype.numpy_dtype if isinstance(dtype, ArrowDtype) else dtype
for dtype in dtypes
if dtype != null_dtype
]
)
The date dtype.numpy_dtype gives "M8[ms]", so we get new_dtype="M8[ms]", which gets cast to timestamp[ms][pyarrow].
Expected Behavior
date32[pyarrow]
Installed Versions
Replace this line with the output of pd.show_versions()