Skip to content

Commit 03dacc1

Browse files
authored
TST: misplaced reduction/indexing tests (#33307)
1 parent 2c82446 commit 03dacc1

File tree

5 files changed

+43
-38
lines changed

5 files changed

+43
-38
lines changed

pandas/tests/frame/test_analytics.py

+25
Original file line numberDiff line numberDiff line change
@@ -1274,3 +1274,28 @@ def test_series_broadcasting(self):
12741274
df_nan.clip(lower=s, axis=0)
12751275
for op in ["lt", "le", "gt", "ge", "eq", "ne"]:
12761276
getattr(df, op)(s_nan, axis=0)
1277+
1278+
1279+
class TestDataFrameReductions:
1280+
def test_min_max_dt64_with_NaT(self):
1281+
# Both NaT and Timestamp are in DataFrame.
1282+
df = pd.DataFrame({"foo": [pd.NaT, pd.NaT, pd.Timestamp("2012-05-01")]})
1283+
1284+
res = df.min()
1285+
exp = pd.Series([pd.Timestamp("2012-05-01")], index=["foo"])
1286+
tm.assert_series_equal(res, exp)
1287+
1288+
res = df.max()
1289+
exp = pd.Series([pd.Timestamp("2012-05-01")], index=["foo"])
1290+
tm.assert_series_equal(res, exp)
1291+
1292+
# GH12941, only NaTs are in DataFrame.
1293+
df = pd.DataFrame({"foo": [pd.NaT, pd.NaT]})
1294+
1295+
res = df.min()
1296+
exp = pd.Series([pd.NaT], index=["foo"])
1297+
tm.assert_series_equal(res, exp)
1298+
1299+
res = df.max()
1300+
exp = pd.Series([pd.NaT], index=["foo"])
1301+
tm.assert_series_equal(res, exp)

pandas/tests/frame/test_timeseries.py

-23
Original file line numberDiff line numberDiff line change
@@ -54,29 +54,6 @@ def test_frame_append_datetime64_col_other_units(self):
5454

5555
assert (tmp["dates"].values == ex_vals).all()
5656

57-
def test_operation_on_NaT(self):
58-
# Both NaT and Timestamp are in DataFrame.
59-
df = pd.DataFrame({"foo": [pd.NaT, pd.NaT, pd.Timestamp("2012-05-01")]})
60-
61-
res = df.min()
62-
exp = pd.Series([pd.Timestamp("2012-05-01")], index=["foo"])
63-
tm.assert_series_equal(res, exp)
64-
65-
res = df.max()
66-
exp = pd.Series([pd.Timestamp("2012-05-01")], index=["foo"])
67-
tm.assert_series_equal(res, exp)
68-
69-
# GH12941, only NaTs are in DataFrame.
70-
df = pd.DataFrame({"foo": [pd.NaT, pd.NaT]})
71-
72-
res = df.min()
73-
exp = pd.Series([pd.NaT], index=["foo"])
74-
tm.assert_series_equal(res, exp)
75-
76-
res = df.max()
77-
exp = pd.Series([pd.NaT], index=["foo"])
78-
tm.assert_series_equal(res, exp)
79-
8057
def test_datetime_assignment_with_NaT_and_diff_time_units(self):
8158
# GH 7492
8259
data_ns = np.array([1, "nat"], dtype="datetime64[ns]")

pandas/tests/indexes/datetimes/test_indexing.py

+7
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,13 @@ def test_get_loc_reasonable_key_error(self):
476476
index.get_loc("1/1/2000")
477477

478478

479+
class TestContains:
480+
def test_index_dupes_contains(self):
481+
d = datetime(2011, 12, 5, 20, 30)
482+
ix = DatetimeIndex([d, d])
483+
assert d in ix
484+
485+
479486
class TestDatetimeIndex:
480487
@pytest.mark.parametrize(
481488
"null", [None, np.nan, np.datetime64("NaT"), pd.NaT, pd.NA]

pandas/tests/series/indexing/test_datetime.py

-15
Original file line numberDiff line numberDiff line change
@@ -464,12 +464,6 @@ def test_index_unique(dups):
464464
assert idx.nunique(dropna=False) == 21
465465

466466

467-
def test_index_dupes_contains():
468-
d = datetime(2011, 12, 5, 20, 30)
469-
ix = DatetimeIndex([d, d])
470-
assert d in ix
471-
472-
473467
def test_duplicate_dates_indexing(dups):
474468
ts = dups
475469

@@ -705,15 +699,6 @@ def test_set_none_nan():
705699
assert series[6] is NaT
706700

707701

708-
def test_nat_operations():
709-
# GH 8617
710-
s = Series([0, pd.NaT], dtype="m8[ns]")
711-
exp = s[0]
712-
assert s.median() == exp
713-
assert s.min() == exp
714-
assert s.max() == exp
715-
716-
717702
def test_setitem_tuple_with_datetimetz():
718703
# GH 20441
719704
arr = date_range("2017", periods=4, tz="US/Eastern")
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import pandas as pd
2+
from pandas import Series
3+
4+
5+
def test_reductions_td64_with_nat():
6+
# GH#8617
7+
ser = Series([0, pd.NaT], dtype="m8[ns]")
8+
exp = ser[0]
9+
assert ser.median() == exp
10+
assert ser.min() == exp
11+
assert ser.max() == exp

0 commit comments

Comments
 (0)