From 9d694ff0c213e8cf5413ce9b2ff624f4f7f1ae63 Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 13:44:22 -0400 Subject: [PATCH 01/15] add test on date range timezone reindex --- pandas/tests/indexes/datetimes/test_date_range.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pandas/tests/indexes/datetimes/test_date_range.py b/pandas/tests/indexes/datetimes/test_date_range.py index b8200bb686aad..1f7575d959d42 100644 --- a/pandas/tests/indexes/datetimes/test_date_range.py +++ b/pandas/tests/indexes/datetimes/test_date_range.py @@ -716,6 +716,16 @@ def test_date_range_with_tz(self, tzstr): assert stamp == rng[1] + def test_date_range_same_tz_reindex(self): + # GH 32740 + a = pd.date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') + b = pd.date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') + msg = ( + "date range convertion must have same timezone" + ) + with pytest.raises(ValueError, match=msg): + a.reindex(b, method='nearest', tolerance=timedelta(seconds=20)) + class TestGenRangeGeneration: def test_generate(self): From 54623910dc84a497a0a9dcab6fb71f8cf44197ff Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 13:47:06 -0400 Subject: [PATCH 02/15] undo --- pandas/tests/indexes/datetimes/test_date_range.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/tests/indexes/datetimes/test_date_range.py b/pandas/tests/indexes/datetimes/test_date_range.py index 1f7575d959d42..5cd87070b2d7c 100644 --- a/pandas/tests/indexes/datetimes/test_date_range.py +++ b/pandas/tests/indexes/datetimes/test_date_range.py @@ -718,8 +718,8 @@ def test_date_range_with_tz(self, tzstr): def test_date_range_same_tz_reindex(self): # GH 32740 - a = pd.date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') - b = pd.date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') + a = date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') + b = date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') msg = ( "date range convertion must have same timezone" ) From 3365dba29f79ebe4fe30b911630a21fc021fcfed Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 15:00:19 -0400 Subject: [PATCH 03/15] fix --- pandas/tests/indexes/datetimes/test_date_range.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pandas/tests/indexes/datetimes/test_date_range.py b/pandas/tests/indexes/datetimes/test_date_range.py index 5cd87070b2d7c..f533fb12336cd 100644 --- a/pandas/tests/indexes/datetimes/test_date_range.py +++ b/pandas/tests/indexes/datetimes/test_date_range.py @@ -720,11 +720,7 @@ def test_date_range_same_tz_reindex(self): # GH 32740 a = date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') b = date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') - msg = ( - "date range convertion must have same timezone" - ) - with pytest.raises(ValueError, match=msg): - a.reindex(b, method='nearest', tolerance=timedelta(seconds=20)) + a.reindex(b, method='nearest', tolerance=timedelta(seconds=20)) class TestGenRangeGeneration: From 36e24d2b92235c1e868357bc8064e9b0662aa53a Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 15:48:37 -0400 Subject: [PATCH 04/15] move code to datetime test --- .../indexes/datetimes/test_date_range.py | 6 ---- .../tests/indexes/datetimes/test_datetime.py | 34 +++++++++++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/pandas/tests/indexes/datetimes/test_date_range.py b/pandas/tests/indexes/datetimes/test_date_range.py index f533fb12336cd..b8200bb686aad 100644 --- a/pandas/tests/indexes/datetimes/test_date_range.py +++ b/pandas/tests/indexes/datetimes/test_date_range.py @@ -716,12 +716,6 @@ def test_date_range_with_tz(self, tzstr): assert stamp == rng[1] - def test_date_range_same_tz_reindex(self): - # GH 32740 - a = date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') - b = date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') - a.reindex(b, method='nearest', tolerance=timedelta(seconds=20)) - class TestGenRangeGeneration: def test_generate(self): diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 1529a259c49af..31af9f454c261 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -44,6 +44,40 @@ def test_reindex_preserves_tz_if_target_is_empty_list_or_array(self): assert str(index.reindex([])[0].tz) == "US/Eastern" assert str(index.reindex(np.array([]))[0].tz) == "US/Eastern" + def test_reindex_with_same_tz(self): + # GH32740 + rng_a = date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') + rng_b = date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') + rng, _ = rng_a.reindex(rng_b, method='nearest', tolerance=timedelta(seconds=20)) + expected_list = [ + '2010-01-01 00:00:00', + '2010-01-01 01:05:27.272727272', + '2010-01-01 02:10:54.545454545', + '2010-01-01 03:16:21.818181818', + '2010-01-01 04:21:49.090909090', + '2010-01-01 05:27:16.363636363', + '2010-01-01 06:32:43.636363636', + '2010-01-01 07:38:10.909090909', + '2010-01-01 08:43:38.181818181', + '2010-01-01 09:49:05.454545454', + '2010-01-01 10:54:32.727272727', + '2010-01-01 12:00:00', + '2010-01-01 13:05:27.272727272', + '2010-01-01 14:10:54.545454545', + '2010-01-01 15:16:21.818181818', + '2010-01-01 16:21:49.090909090', + '2010-01-01 17:27:16.363636363', + '2010-01-01 18:32:43.636363636', + '2010-01-01 19:38:10.909090909', + '2010-01-01 20:43:38.181818181', + '2010-01-01 21:49:05.454545454', + '2010-01-01 22:54:32.727272727', + '2010-01-02 00:00:00'] + expected = DatetimeIndex( + expected_list, dtype="datetime64[ns, UTC]", freq=None, + ) + tm.assert_index_equal(rng, expected) + def test_time_loc(self): # GH8667 from datetime import time from pandas._libs.index import _SIZE_CUTOFF From f95ccc7e464ac4ccb0050d7aea3ad28b72792a52 Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 16:48:00 -0400 Subject: [PATCH 05/15] import timedelta --- pandas/tests/indexes/datetimes/test_datetime.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 31af9f454c261..71c576e8f0bd3 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -45,7 +45,8 @@ def test_reindex_preserves_tz_if_target_is_empty_list_or_array(self): assert str(index.reindex(np.array([]))[0].tz) == "US/Eastern" def test_reindex_with_same_tz(self): - # GH32740 + # GH 32740 + from datetime import timedelta rng_a = date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') rng_b = date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') rng, _ = rng_a.reindex(rng_b, method='nearest', tolerance=timedelta(seconds=20)) From 2390a408aaa4140c9ab2d2d2533701fc52b2718a Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 18:31:18 -0400 Subject: [PATCH 06/15] adding assertion the np array results --- .../tests/indexes/datetimes/test_datetime.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 71c576e8f0bd3..8373bdc191f53 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -1,4 +1,4 @@ -from datetime import date +from datetime import date, timedelta import dateutil import numpy as np @@ -46,11 +46,10 @@ def test_reindex_preserves_tz_if_target_is_empty_list_or_array(self): def test_reindex_with_same_tz(self): # GH 32740 - from datetime import timedelta rng_a = date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') rng_b = date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') - rng, _ = rng_a.reindex(rng_b, method='nearest', tolerance=timedelta(seconds=20)) - expected_list = [ + result1, result2 = rng_a.reindex(rng_b, method='nearest', tolerance=timedelta(seconds=20)) + expected_list1 = [ '2010-01-01 00:00:00', '2010-01-01 01:05:27.272727272', '2010-01-01 02:10:54.545454545', @@ -74,10 +73,15 @@ def test_reindex_with_same_tz(self): '2010-01-01 21:49:05.454545454', '2010-01-01 22:54:32.727272727', '2010-01-02 00:00:00'] - expected = DatetimeIndex( - expected_list, dtype="datetime64[ns, UTC]", freq=None, + expected1 = DatetimeIndex( + expected_list1, dtype="datetime64[ns, UTC]", freq=None, ) - tm.assert_index_equal(rng, expected) + expected2 = np.array([ + 0, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 23]) + tm.assert_index_equal(result1, expected1) + assert (result2==expected2).all() def test_time_loc(self): # GH8667 from datetime import time From 0278b02d92abe7615e17de70a822463976405b98 Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 18:33:53 -0400 Subject: [PATCH 07/15] comply to coding standard --- pandas/tests/indexes/datetimes/test_datetime.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 8373bdc191f53..078f971c741d2 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -48,7 +48,8 @@ def test_reindex_with_same_tz(self): # GH 32740 rng_a = date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') rng_b = date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') - result1, result2 = rng_a.reindex(rng_b, method='nearest', tolerance=timedelta(seconds=20)) + result1, result2 = rng_a.reindex(rng_b, method='nearest', + tolerance=timedelta(seconds=20)) expected_list1 = [ '2010-01-01 00:00:00', '2010-01-01 01:05:27.272727272', @@ -72,14 +73,16 @@ def test_reindex_with_same_tz(self): '2010-01-01 20:43:38.181818181', '2010-01-01 21:49:05.454545454', '2010-01-01 22:54:32.727272727', - '2010-01-02 00:00:00'] + '2010-01-02 00:00:00' + ] expected1 = DatetimeIndex( expected_list1, dtype="datetime64[ns, UTC]", freq=None, ) expected2 = np.array([ 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 23]) + -1, -1, -1, -1, -1, 23 + ]) tm.assert_index_equal(result1, expected1) assert (result2==expected2).all() From e89f7bb4c550973d00efc11e2369f7867da2ddd6 Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 18:34:45 -0400 Subject: [PATCH 08/15] update --- pandas/tests/indexes/datetimes/test_datetime.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 078f971c741d2..0df1ec4ca39e7 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -84,7 +84,7 @@ def test_reindex_with_same_tz(self): -1, -1, -1, -1, -1, 23 ]) tm.assert_index_equal(result1, expected1) - assert (result2==expected2).all() + assert (result2 == expected2).all() def test_time_loc(self): # GH8667 from datetime import time From 40cffc31e6af221462a183d1a1fa94197819322c Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 20:25:56 -0400 Subject: [PATCH 09/15] update --- pandas/tests/indexes/datetimes/test_datetime.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 0df1ec4ca39e7..65b543f3568e9 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -84,7 +84,7 @@ def test_reindex_with_same_tz(self): -1, -1, -1, -1, -1, 23 ]) tm.assert_index_equal(result1, expected1) - assert (result2 == expected2).all() + tm.assert_numpy_array_equal(result2, expected2) def test_time_loc(self): # GH8667 from datetime import time From 0c30720cf59eee6ed5ed5c6f3a5fe59f9be26ebb Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 21:08:33 -0400 Subject: [PATCH 10/15] assert_numpy_array_equal --- pandas/tests/indexes/datetimes/test_datetime.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 65b543f3568e9..357713cbc52ea 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -81,8 +81,9 @@ def test_reindex_with_same_tz(self): expected2 = np.array([ 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 23 - ]) + -1, -1, -1, -1, -1, 23], + dtype = np.int64, + ) tm.assert_index_equal(result1, expected1) tm.assert_numpy_array_equal(result2, expected2) From 9e81400530411ef3140f80a43577b518d53cafad Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 21:51:07 -0400 Subject: [PATCH 11/15] comply black format --- pandas/tests/indexes/datetimes/test_datetime.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 357713cbc52ea..40e2e221fa8be 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -48,8 +48,9 @@ def test_reindex_with_same_tz(self): # GH 32740 rng_a = date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') rng_b = date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') - result1, result2 = rng_a.reindex(rng_b, method='nearest', - tolerance=timedelta(seconds=20)) + result1, result2 = rng_a.reindex( + rng_b, method='nearest', tolerance=timedelta(seconds=20) + ) expected_list1 = [ '2010-01-01 00:00:00', '2010-01-01 01:05:27.272727272', @@ -78,12 +79,12 @@ def test_reindex_with_same_tz(self): expected1 = DatetimeIndex( expected_list1, dtype="datetime64[ns, UTC]", freq=None, ) - expected2 = np.array([ - 0, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 23], + expected2 = np.array( + [0, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 23], dtype = np.int64, - ) + ) tm.assert_index_equal(result1, expected1) tm.assert_numpy_array_equal(result2, expected2) From e25d95cf399a3c38bfc8a67ea8c7fe4d270882d1 Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 22:15:07 -0400 Subject: [PATCH 12/15] format checking --- pandas/tests/indexes/datetimes/test_datetime.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 40e2e221fa8be..764c265203fd0 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -80,10 +80,7 @@ def test_reindex_with_same_tz(self): expected_list1, dtype="datetime64[ns, UTC]", freq=None, ) expected2 = np.array( - [0, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 23], - dtype = np.int64, + [0] + [-1]*21 + [23], dtype=np.int64, ) tm.assert_index_equal(result1, expected1) tm.assert_numpy_array_equal(result2, expected2) From c840d38d293eb02e15a09e0e10c845db078f2e9a Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 22:33:05 -0400 Subject: [PATCH 13/15] white space --- pandas/tests/indexes/datetimes/test_datetime.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index 764c265203fd0..d0865f65cc723 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -80,7 +80,7 @@ def test_reindex_with_same_tz(self): expected_list1, dtype="datetime64[ns, UTC]", freq=None, ) expected2 = np.array( - [0] + [-1]*21 + [23], dtype=np.int64, + [0] + [-1] * 21 + [23], dtype=np.int64, ) tm.assert_index_equal(result1, expected1) tm.assert_numpy_array_equal(result2, expected2) From 2f4b15f042c91b47010a18af9ecff7866f2defec Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Fri, 3 Apr 2020 23:01:05 -0400 Subject: [PATCH 14/15] bleck --- .../tests/indexes/datetimes/test_datetime.py | 56 +++++++++---------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/pandas/tests/indexes/datetimes/test_datetime.py b/pandas/tests/indexes/datetimes/test_datetime.py index d0865f65cc723..e109c7a4f1c8d 100644 --- a/pandas/tests/indexes/datetimes/test_datetime.py +++ b/pandas/tests/indexes/datetimes/test_datetime.py @@ -46,42 +46,40 @@ def test_reindex_preserves_tz_if_target_is_empty_list_or_array(self): def test_reindex_with_same_tz(self): # GH 32740 - rng_a = date_range('2010-01-01', '2010-01-02', periods=24, tz='utc') - rng_b = date_range('2010-01-01', '2010-01-02', periods=23, tz='utc') + rng_a = date_range("2010-01-01", "2010-01-02", periods=24, tz="utc") + rng_b = date_range("2010-01-01", "2010-01-02", periods=23, tz="utc") result1, result2 = rng_a.reindex( - rng_b, method='nearest', tolerance=timedelta(seconds=20) + rng_b, method="nearest", tolerance=timedelta(seconds=20) ) expected_list1 = [ - '2010-01-01 00:00:00', - '2010-01-01 01:05:27.272727272', - '2010-01-01 02:10:54.545454545', - '2010-01-01 03:16:21.818181818', - '2010-01-01 04:21:49.090909090', - '2010-01-01 05:27:16.363636363', - '2010-01-01 06:32:43.636363636', - '2010-01-01 07:38:10.909090909', - '2010-01-01 08:43:38.181818181', - '2010-01-01 09:49:05.454545454', - '2010-01-01 10:54:32.727272727', - '2010-01-01 12:00:00', - '2010-01-01 13:05:27.272727272', - '2010-01-01 14:10:54.545454545', - '2010-01-01 15:16:21.818181818', - '2010-01-01 16:21:49.090909090', - '2010-01-01 17:27:16.363636363', - '2010-01-01 18:32:43.636363636', - '2010-01-01 19:38:10.909090909', - '2010-01-01 20:43:38.181818181', - '2010-01-01 21:49:05.454545454', - '2010-01-01 22:54:32.727272727', - '2010-01-02 00:00:00' + "2010-01-01 00:00:00", + "2010-01-01 01:05:27.272727272", + "2010-01-01 02:10:54.545454545", + "2010-01-01 03:16:21.818181818", + "2010-01-01 04:21:49.090909090", + "2010-01-01 05:27:16.363636363", + "2010-01-01 06:32:43.636363636", + "2010-01-01 07:38:10.909090909", + "2010-01-01 08:43:38.181818181", + "2010-01-01 09:49:05.454545454", + "2010-01-01 10:54:32.727272727", + "2010-01-01 12:00:00", + "2010-01-01 13:05:27.272727272", + "2010-01-01 14:10:54.545454545", + "2010-01-01 15:16:21.818181818", + "2010-01-01 16:21:49.090909090", + "2010-01-01 17:27:16.363636363", + "2010-01-01 18:32:43.636363636", + "2010-01-01 19:38:10.909090909", + "2010-01-01 20:43:38.181818181", + "2010-01-01 21:49:05.454545454", + "2010-01-01 22:54:32.727272727", + "2010-01-02 00:00:00", ] expected1 = DatetimeIndex( expected_list1, dtype="datetime64[ns, UTC]", freq=None, ) - expected2 = np.array( - [0] + [-1] * 21 + [23], dtype=np.int64, - ) + expected2 = np.array([0] + [-1] * 21 + [23], dtype=np.int64,) tm.assert_index_equal(result1, expected1) tm.assert_numpy_array_equal(result2, expected2) From b90e93aa6cac0e5ebdd2446162b9c0ae2d1840c8 Mon Sep 17 00:00:00 2001 From: BenjaminLiu Date: Mon, 6 Apr 2020 18:37:27 -0400 Subject: [PATCH 15/15] test #32383 --- pandas/tests/io/json/test_json_table_schema.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pandas/tests/io/json/test_json_table_schema.py b/pandas/tests/io/json/test_json_table_schema.py index c0d40048a72fe..dccfc5c717522 100644 --- a/pandas/tests/io/json/test_json_table_schema.py +++ b/pandas/tests/io/json/test_json_table_schema.py @@ -237,6 +237,22 @@ def test_build_series(self): assert result == expected + def test_read_json(self): + df = pd.DataFrame( + { + "_id": {"0": "0"}, + "category": {"0": "Goods"}, + "recommender_id": {"0": "3"}, + "recommender_name_en": {"0": "Urata"}, + "name_en": {"0": "Hakata Dolls Matsuo"}, + } + ) + df_json = df.to_json() + df_dict = json.loads(df_json) + result = pd.read_json(df_json) + expected = pd.DataFrame().from_dict(df_dict) + tm.assert_frame_equal(result, expected) + def test_to_json(self): df = self.df.copy() df.index.name = "idx"