From c729840cb44d0e5adb42623289c4611607dabe3a Mon Sep 17 00:00:00 2001 From: weikhor Date: Wed, 26 May 2021 17:58:37 +0800 Subject: [PATCH 1/6] add --- pandas/tests/reshape/concat/test_empty.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pandas/tests/reshape/concat/test_empty.py b/pandas/tests/reshape/concat/test_empty.py index a97e9265b4f99..83271e181aff2 100644 --- a/pandas/tests/reshape/concat/test_empty.py +++ b/pandas/tests/reshape/concat/test_empty.py @@ -249,3 +249,20 @@ def test_empty_dtype_coerce(self): result = concat([df1, df2]) expected = df1.dtypes tm.assert_series_equal(result.dtypes, expected) + + def test_concat_empty_dataframe(self): + # 39037 + df1 = DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]}) + df2 = DataFrame({'b': [1, 2, 3], 'c': [4, 5, 6]}) + result = concat([df1[0:0], df2[0:0], df1[0:0]]).astype('int32') + expected = DataFrame(columns=['a', 'b', 'c']).reset_index(drop=True).astype('int32') + tm.assert_frame_equal(result, expected) + + def test_concat_empty_dataframe_dtypes(self): + # 39037 + df1 = DataFrame({'a': [1, 2, 3], 'b': ['a', 'b', 'c']}) + df2 = DataFrame({'a': [1, 2, 3]}) + + result = concat([df1[:0], df2[:0]]) + assert result["a"].dtype == np.int64 + assert result["b"].dtype == np.object From faca82a0e29f5f588dab72d8e88da0577626985c Mon Sep 17 00:00:00 2001 From: weikhor Date: Wed, 26 May 2021 19:29:49 +0800 Subject: [PATCH 2/6] add --- pandas/tests/reshape/concat/test_empty.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/reshape/concat/test_empty.py b/pandas/tests/reshape/concat/test_empty.py index 83271e181aff2..85c6e9d5a50d2 100644 --- a/pandas/tests/reshape/concat/test_empty.py +++ b/pandas/tests/reshape/concat/test_empty.py @@ -258,7 +258,7 @@ def test_concat_empty_dataframe(self): expected = DataFrame(columns=['a', 'b', 'c']).reset_index(drop=True).astype('int32') tm.assert_frame_equal(result, expected) - def test_concat_empty_dataframe_dtypes(self): + def test_concat_empty_dataframe_different_dtypes(self): # 39037 df1 = DataFrame({'a': [1, 2, 3], 'b': ['a', 'b', 'c']}) df2 = DataFrame({'a': [1, 2, 3]}) From 1e65824f55801c59f54c1cfc2d6626550c8bd5ed Mon Sep 17 00:00:00 2001 From: weikhor Date: Thu, 27 May 2021 23:20:47 +0800 Subject: [PATCH 3/6] add test for test empty concat --- pandas/tests/reshape/concat/test_empty.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/pandas/tests/reshape/concat/test_empty.py b/pandas/tests/reshape/concat/test_empty.py index 85c6e9d5a50d2..0d09057e20308 100644 --- a/pandas/tests/reshape/concat/test_empty.py +++ b/pandas/tests/reshape/concat/test_empty.py @@ -252,17 +252,15 @@ def test_empty_dtype_coerce(self): def test_concat_empty_dataframe(self): # 39037 - df1 = DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]}) - df2 = DataFrame({'b': [1, 2, 3], 'c': [4, 5, 6]}) - result = concat([df1[0:0], df2[0:0], df1[0:0]]).astype('int32') - expected = DataFrame(columns=['a', 'b', 'c']).reset_index(drop=True).astype('int32') + df1 = DataFrame(columns=["a", "b"]) + df2 = DataFrame(columns=["b", "c"]) + result = concat([df1, df2, df1]) + expected = DataFrame(columns=['a', 'b', 'c']) tm.assert_frame_equal(result, expected) - - def test_concat_empty_dataframe_different_dtypes(self): - # 39037 - df1 = DataFrame({'a': [1, 2, 3], 'b': ['a', 'b', 'c']}) - df2 = DataFrame({'a': [1, 2, 3]}) - result = concat([df1[:0], df2[:0]]) - assert result["a"].dtype == np.int64 - assert result["b"].dtype == np.object + df3 = DataFrame(columns=["a", "b"]) + df4 = DataFrame(columns=["b"]) + result = concat([df3, df4]) + expected = DataFrame(columns=['a', 'b']) + tm.assert_frame_equal(result, expected) + From 32ce82ff7689f6ea79981c6cb1386c00705c8a39 Mon Sep 17 00:00:00 2001 From: weikhor Date: Fri, 28 May 2021 23:05:31 +0800 Subject: [PATCH 4/6] change single quote to double quote --- pandas/tests/reshape/concat/test_empty.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pandas/tests/reshape/concat/test_empty.py b/pandas/tests/reshape/concat/test_empty.py index 0d09057e20308..b21d6ee926868 100644 --- a/pandas/tests/reshape/concat/test_empty.py +++ b/pandas/tests/reshape/concat/test_empty.py @@ -255,12 +255,11 @@ def test_concat_empty_dataframe(self): df1 = DataFrame(columns=["a", "b"]) df2 = DataFrame(columns=["b", "c"]) result = concat([df1, df2, df1]) - expected = DataFrame(columns=['a', 'b', 'c']) + expected = DataFrame(columns=["a", "b", "c"]) tm.assert_frame_equal(result, expected) df3 = DataFrame(columns=["a", "b"]) df4 = DataFrame(columns=["b"]) result = concat([df3, df4]) - expected = DataFrame(columns=['a', 'b']) - tm.assert_frame_equal(result, expected) - + expected = DataFrame(columns=["a", "b"]) + tm.assert_frame_equal(result, expected) From c09ecab6e1984397cf3bcdd805cc9acb06955868 Mon Sep 17 00:00:00 2001 From: weikhor Date: Fri, 28 May 2021 23:20:03 +0800 Subject: [PATCH 5/6] add test concat empty dataframe of different dtypes --- pandas/tests/reshape/concat/test_empty.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pandas/tests/reshape/concat/test_empty.py b/pandas/tests/reshape/concat/test_empty.py index b21d6ee926868..6e7ff6134f295 100644 --- a/pandas/tests/reshape/concat/test_empty.py +++ b/pandas/tests/reshape/concat/test_empty.py @@ -263,3 +263,12 @@ def test_concat_empty_dataframe(self): result = concat([df3, df4]) expected = DataFrame(columns=["a", "b"]) tm.assert_frame_equal(result, expected) + + def test_concat_empty_dataframe_different_dtypes(self): + # 39037 + df1 = DataFrame({'a': [1, 2, 3], 'b': ['a', 'b', 'c']}) + df2 = DataFrame({'a': [1, 2, 3]}) + + result = concat([df1[:0], df2[:0]]) + assert result["a"].dtype == np.int64 + assert result["b"].dtype == np.object_ From 39d2b08485273a267ceda5963273dacb008f8f5b Mon Sep 17 00:00:00 2001 From: weikhor Date: Fri, 28 May 2021 23:24:35 +0800 Subject: [PATCH 6/6] add --- pandas/tests/reshape/concat/test_empty.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/tests/reshape/concat/test_empty.py b/pandas/tests/reshape/concat/test_empty.py index 6e7ff6134f295..304dea52f359a 100644 --- a/pandas/tests/reshape/concat/test_empty.py +++ b/pandas/tests/reshape/concat/test_empty.py @@ -266,8 +266,8 @@ def test_concat_empty_dataframe(self): def test_concat_empty_dataframe_different_dtypes(self): # 39037 - df1 = DataFrame({'a': [1, 2, 3], 'b': ['a', 'b', 'c']}) - df2 = DataFrame({'a': [1, 2, 3]}) + df1 = DataFrame({"a": [1, 2, 3], "b": ["a", "b", "c"]}) + df2 = DataFrame({"a": [1, 2, 3]}) result = concat([df1[:0], df2[:0]]) assert result["a"].dtype == np.int64