Skip to content

Commit e2dec8d

Browse files
authored
Fixed #38419 - BUG: set_index screws up the dtypes on empty DataFrames (#38430)
1 parent 67305b2 commit e2dec8d

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

pandas/tests/frame/methods/test_set_index.py

+11
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,17 @@ def test_set_index_empty_column(self):
4747
expected.index = MultiIndex.from_arrays([df["a"], df["x"]], names=["a", "x"])
4848
tm.assert_frame_equal(result, expected)
4949

50+
def test_set_index_empty_dataframe(self):
51+
# GH#38419
52+
df1 = DataFrame(
53+
{"a": Series(dtype="datetime64[ns]"), "b": Series(dtype="int64"), "c": []}
54+
)
55+
56+
df2 = df1.set_index(["a", "b"])
57+
result = df2.index.to_frame().dtypes
58+
expected = df1[["a", "b"]].dtypes
59+
tm.assert_series_equal(result, expected)
60+
5061
def test_set_index_multiindexcolumns(self):
5162
columns = MultiIndex.from_tuples([("foo", 1), ("foo", 2), ("bar", 1)])
5263
df = DataFrame(np.random.randn(3, 3), columns=columns)

0 commit comments

Comments
 (0)