Skip to content

Commit 0294325

Browse files
committed
add concat function dtype test
Signed-off-by: Liang Yan <[email protected]>
1 parent 5b9f980 commit 0294325

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

pandas/tests/reshape/concat/test_datetimes.py

+37
Original file line numberDiff line numberDiff line change
@@ -538,3 +538,40 @@ def test_concat_multiindex_datetime_nat():
538538
{"a": [1.0, np.nan], "b": 2}, MultiIndex.from_tuples([(1, pd.NaT), (2, pd.NaT)])
539539
)
540540
tm.assert_frame_equal(result, expected)
541+
542+
543+
def test_concat_float_datetime64(using_array_manager):
544+
# GH#32934
545+
df_time = DataFrame({"A": pd.array(["2000"], dtype="datetime64[ns]")})
546+
df_float = DataFrame({"A": pd.array([1.0], dtype="float64")})
547+
548+
expected = DataFrame(
549+
{
550+
"A": [
551+
pd.array(["2000"], dtype="datetime64[ns]")[0],
552+
pd.array([1.0], dtype="float64")[0],
553+
]
554+
},
555+
index=[0, 0],
556+
)
557+
result = concat([df_time, df_float])
558+
tm.assert_frame_equal(result, expected)
559+
560+
expected = DataFrame({"A": pd.array([], dtype="object")})
561+
result = concat([df_time.iloc[:0], df_float.iloc[:0]])
562+
tm.assert_frame_equal(result, expected)
563+
564+
expected = DataFrame({"A": pd.array([1.0], dtype="object")})
565+
result = concat([df_time.iloc[:0], df_float])
566+
tm.assert_frame_equal(result, expected)
567+
568+
if not using_array_manager:
569+
expected = DataFrame({"A": pd.array(["2000"], dtype="datetime64[ns]")})
570+
result = concat([df_time, df_float.iloc[:0]])
571+
tm.assert_frame_equal(result, expected)
572+
else:
573+
expected = DataFrame({"A": pd.array(["2000"], dtype="datetime64[ns]")}).astype(
574+
{"A": "object"}
575+
)
576+
result = concat([df_time, df_float.iloc[:0]])
577+
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)