Skip to content

Commit d74c498

Browse files
author
MarcoGorelli
committed
some more fixups
1 parent 64321b3 commit d74c498

File tree

1 file changed

+49
-34
lines changed

1 file changed

+49
-34
lines changed

pandas/tests/resample/test_datetime_index.py

Lines changed: 49 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,21 +1114,17 @@ def test_monthly_resample_error(unit):
11141114
ts.resample("M")
11151115

11161116

1117-
def test_nanosecond_resample_error(unit):
1117+
def test_nanosecond_resample_error():
11181118
# GH 12307 - Values falls after last bin when
11191119
# Resampling using pd.tseries.offsets.Nano as period
11201120
start = 1443707890427
11211121
exp_start = 1443707890400
1122-
indx = date_range(start=pd.to_datetime(start), periods=10, freq="100n").as_unit(
1123-
unit
1124-
)
1122+
indx = date_range(start=pd.to_datetime(start), periods=10, freq="100n")
11251123
ts = Series(range(len(indx)), index=indx)
11261124
r = ts.resample(pd.tseries.offsets.Nano(100))
11271125
result = r.agg("mean")
11281126

1129-
exp_indx = date_range(
1130-
start=pd.to_datetime(exp_start), periods=10, freq="100n"
1131-
).as_unit(unit)
1127+
exp_indx = date_range(start=pd.to_datetime(exp_start), periods=10, freq="100n")
11321128
exp = Series(range(len(exp_indx)), index=exp_indx, dtype=float)
11331129

11341130
tm.assert_series_equal(result, exp)
@@ -1143,7 +1139,7 @@ def test_resample_anchored_intraday(simple_date_range_series, unit):
11431139
result = df.resample("M").mean()
11441140
expected = df.resample("M", kind="period").mean().to_timestamp(how="end")
11451141
expected.index += Timedelta(1, "ns") - Timedelta(1, "D")
1146-
expected.index = expected.index._with_freq("infer")
1142+
expected.index = expected.index.as_unit(unit)._with_freq("infer")
11471143
assert expected.index.freq == "M"
11481144
tm.assert_frame_equal(result, expected)
11491145

@@ -1152,7 +1148,7 @@ def test_resample_anchored_intraday(simple_date_range_series, unit):
11521148
exp = exp.to_timestamp(how="end")
11531149

11541150
exp.index = exp.index + Timedelta(1, "ns") - Timedelta(1, "D")
1155-
exp.index = exp.index._with_freq("infer")
1151+
exp.index = exp.index.as_unit(unit)._with_freq("infer")
11561152
assert exp.index.freq == "M"
11571153
tm.assert_frame_equal(result, exp)
11581154

@@ -1164,6 +1160,7 @@ def test_resample_anchored_intraday(simple_date_range_series, unit):
11641160
expected.index += Timedelta(1, "ns") - Timedelta(1, "D")
11651161
expected.index._data.freq = "Q"
11661162
expected.index._freq = lib.no_default
1163+
expected.index = expected.index.as_unit(unit)
11671164
tm.assert_frame_equal(result, expected)
11681165

11691166
result = df.resample("Q", closed="left").mean()
@@ -1172,9 +1169,11 @@ def test_resample_anchored_intraday(simple_date_range_series, unit):
11721169
expected.index += Timedelta(1, "ns") - Timedelta(1, "D")
11731170
expected.index._data.freq = "Q"
11741171
expected.index._freq = lib.no_default
1172+
expected.index = expected.index.as_unit(unit)
11751173
tm.assert_frame_equal(result, expected)
11761174

11771175
ts = simple_date_range_series("2012-04-29 23:00", "2012-04-30 5:00", freq="h")
1176+
ts.index = ts.index.as_unit(unit)
11781177
resampled = ts.resample("M").mean()
11791178
assert len(resampled) == 1
11801179

@@ -1477,7 +1476,7 @@ def test_resample_group_info(n, k, unit):
14771476
ts = Series(prng.randint(0, n // k, n).astype("int64"), index=prng.choice(dr, n))
14781477

14791478
left = ts.resample("30T").nunique()
1480-
ix = date_range(start=ts.index.min(), end=ts.index.max(), freq="30T")
1479+
ix = date_range(start=ts.index.min(), end=ts.index.max(), freq="30T").as_unit(unit)
14811480

14821481
vals = ts.values
14831482
bins = np.searchsorted(ix.values, ts.index, side="right")
@@ -1705,7 +1704,7 @@ def test_downsample_dst_at_midnight():
17051704
tm.assert_frame_equal(result, expected)
17061705

17071706

1708-
def test_resample_with_nat():
1707+
def test_resample_with_nat(unit):
17091708
# GH 13020
17101709
index = DatetimeIndex(
17111710
[
@@ -1717,35 +1716,39 @@ def test_resample_with_nat():
17171716
]
17181717
)
17191718
frame = DataFrame([2, 3, 5, 7, 11], index=index)
1719+
frame.index = frame.index.as_unit(unit)
17201720

17211721
index_1s = DatetimeIndex(
17221722
["1970-01-01 00:00:00", "1970-01-01 00:00:01", "1970-01-01 00:00:02"]
1723-
)
1723+
).as_unit(unit)
17241724
frame_1s = DataFrame([3.0, 7.0, 11.0], index=index_1s)
17251725
tm.assert_frame_equal(frame.resample("1s").mean(), frame_1s)
17261726

1727-
index_2s = DatetimeIndex(["1970-01-01 00:00:00", "1970-01-01 00:00:02"])
1727+
index_2s = DatetimeIndex(["1970-01-01 00:00:00", "1970-01-01 00:00:02"]).as_unit(
1728+
unit
1729+
)
17281730
frame_2s = DataFrame([5.0, 11.0], index=index_2s)
17291731
tm.assert_frame_equal(frame.resample("2s").mean(), frame_2s)
17301732

1731-
index_3s = DatetimeIndex(["1970-01-01 00:00:00"])
1733+
index_3s = DatetimeIndex(["1970-01-01 00:00:00"]).as_unit(unit)
17321734
frame_3s = DataFrame([7.0], index=index_3s)
17331735
tm.assert_frame_equal(frame.resample("3s").mean(), frame_3s)
17341736

17351737
tm.assert_frame_equal(frame.resample("60s").mean(), frame_3s)
17361738

17371739

1738-
def test_resample_datetime_values():
1740+
def test_resample_datetime_values(unit):
17391741
# GH 13119
17401742
# check that datetime dtype is preserved when NaT values are
17411743
# introduced by the resampling
17421744

17431745
dates = [datetime(2016, 1, 15), datetime(2016, 1, 19)]
17441746
df = DataFrame({"timestamp": dates}, index=dates)
1747+
df.index = df.index.as_unit(unit)
17451748

17461749
exp = Series(
17471750
[datetime(2016, 1, 15), pd.NaT, datetime(2016, 1, 19)],
1748-
index=date_range("2016-01-15", periods=3, freq="2D"),
1751+
index=date_range("2016-01-15", periods=3, freq="2D").as_unit(unit),
17491752
name="timestamp",
17501753
)
17511754

@@ -1755,11 +1758,13 @@ def test_resample_datetime_values():
17551758
tm.assert_series_equal(res, exp)
17561759

17571760

1758-
def test_resample_apply_with_additional_args(series):
1761+
def test_resample_apply_with_additional_args(series, unit):
17591762
# GH 14615
17601763
def f(data, add_arg):
17611764
return np.mean(data) * add_arg
17621765

1766+
series.index = series.index.as_unit(unit)
1767+
17631768
multiplier = 10
17641769
result = series.resample("D").apply(f, multiplier)
17651770
expected = series.resample("D").mean().multiply(multiplier)
@@ -1793,11 +1798,14 @@ def f(data, add_arg):
17931798
(24, "H", 1, "D"),
17941799
],
17951800
)
1796-
def test_resample_equivalent_offsets(n1, freq1, n2, freq2, k):
1801+
def test_resample_equivalent_offsets(n1, freq1, n2, freq2, k, unit):
17971802
# GH 24127
17981803
n1_ = n1 * k
17991804
n2_ = n2 * k
1800-
s = Series(0, index=date_range("19910905 13:00", "19911005 07:00", freq=freq1))
1805+
s = Series(
1806+
0,
1807+
index=date_range("19910905 13:00", "19911005 07:00", freq=freq1).as_unit(unit),
1808+
)
18011809
s = s + range(len(s))
18021810

18031811
result1 = s.resample(str(n1_) + freq1).mean()
@@ -1816,11 +1824,11 @@ def test_resample_equivalent_offsets(n1, freq1, n2, freq2, k):
18161824
("1991-08", "1992-04", "M", "19910831", "19920531"),
18171825
],
18181826
)
1819-
def test_get_timestamp_range_edges(first, last, freq, exp_first, exp_last):
1827+
def test_get_timestamp_range_edges(first, last, freq, exp_first, exp_last, unit):
18201828
first = Period(first)
1821-
first = first.to_timestamp(first.freq)
1829+
first = first.to_timestamp(first.freq).as_unit(unit)
18221830
last = Period(last)
1823-
last = last.to_timestamp(last.freq)
1831+
last = last.to_timestamp(last.freq).as_unit(unit)
18241832

18251833
exp_first = Timestamp(exp_first)
18261834
exp_last = Timestamp(exp_last)
@@ -1832,9 +1840,9 @@ def test_get_timestamp_range_edges(first, last, freq, exp_first, exp_last):
18321840

18331841

18341842
@pytest.mark.parametrize("duplicates", [True, False])
1835-
def test_resample_apply_product(duplicates):
1843+
def test_resample_apply_product(duplicates, unit):
18361844
# GH 5586
1837-
index = date_range(start="2012-01-31", freq="M", periods=12)
1845+
index = date_range(start="2012-01-31", freq="M", periods=12).as_unit(unit)
18381846

18391847
ts = Series(range(12), index=index)
18401848
df = DataFrame({"A": ts, "B": ts + 2})
@@ -1846,7 +1854,7 @@ def test_resample_apply_product(duplicates):
18461854
np.array([[0, 24], [60, 210], [336, 720], [990, 1716]], dtype=np.int64),
18471855
index=DatetimeIndex(
18481856
["2012-03-31", "2012-06-30", "2012-09-30", "2012-12-31"], freq="Q-DEC"
1849-
),
1857+
).as_unit(unit),
18501858
columns=df.columns,
18511859
)
18521860
tm.assert_frame_equal(result, expected)
@@ -1888,34 +1896,39 @@ def test_resample_apply_product(duplicates):
18881896
],
18891897
)
18901898
def test_resample_calendar_day_with_dst(
1891-
first: str, last: str, freq_in: str, freq_out: str, exp_last: str
1899+
first: str, last: str, freq_in: str, freq_out: str, exp_last: str, unit
18921900
):
18931901
# GH 35219
1894-
ts = Series(1.0, date_range(first, last, freq=freq_in, tz="Europe/Amsterdam"))
1902+
ts = Series(
1903+
1.0, date_range(first, last, freq=freq_in, tz="Europe/Amsterdam").as_unit(unit)
1904+
)
18951905
result = ts.resample(freq_out).ffill()
18961906
expected = Series(
1897-
1.0, date_range(first, exp_last, freq=freq_out, tz="Europe/Amsterdam")
1907+
1.0,
1908+
date_range(first, exp_last, freq=freq_out, tz="Europe/Amsterdam").as_unit(unit),
18981909
)
18991910
tm.assert_series_equal(result, expected)
19001911

19011912

19021913
@pytest.mark.parametrize("func", ["min", "max", "first", "last"])
1903-
def test_resample_aggregate_functions_min_count(func):
1914+
def test_resample_aggregate_functions_min_count(func, unit):
19041915
# GH#37768
1905-
index = date_range(start="2020", freq="M", periods=3)
1916+
index = date_range(start="2020", freq="M", periods=3).as_unit(unit)
19061917
ser = Series([1, np.nan, np.nan], index)
19071918
result = getattr(ser.resample("Q"), func)(min_count=2)
19081919
expected = Series(
19091920
[np.nan],
1910-
index=DatetimeIndex(["2020-03-31"], dtype="datetime64[ns]", freq="Q-DEC"),
1921+
index=DatetimeIndex(["2020-03-31"], freq="Q-DEC").as_unit(unit),
19111922
)
19121923
tm.assert_series_equal(result, expected)
19131924

19141925

1915-
def test_resample_unsigned_int(any_unsigned_int_numpy_dtype):
1926+
def test_resample_unsigned_int(any_unsigned_int_numpy_dtype, unit):
19161927
# gh-43329
19171928
df = DataFrame(
1918-
index=date_range(start="2000-01-01", end="2000-01-03 23", freq="12H"),
1929+
index=date_range(start="2000-01-01", end="2000-01-03 23", freq="12H").as_unit(
1930+
unit
1931+
),
19191932
columns=["x"],
19201933
data=[0, 1, 0] * 2,
19211934
dtype=any_unsigned_int_numpy_dtype,
@@ -1927,6 +1940,8 @@ def test_resample_unsigned_int(any_unsigned_int_numpy_dtype):
19271940
expected = DataFrame(
19281941
[1, np.nan, 0],
19291942
columns=["x"],
1930-
index=date_range(start="2000-01-01", end="2000-01-03 23", freq="D"),
1943+
index=date_range(start="2000-01-01", end="2000-01-03 23", freq="D").as_unit(
1944+
unit
1945+
),
19311946
)
19321947
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)