Skip to content

Commit d082266

Browse files
authored
CLN: Assorted (#51519)
* Remove unused i * Remove unneeded scope * Don't modify test param * Refactor test_pickles
1 parent b1ba308 commit d082266

File tree

3 files changed

+57
-56
lines changed

3 files changed

+57
-56
lines changed

pandas/io/sas/sas.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -375,9 +375,9 @@ cdef class Parser:
375375
def read(self, int nrows):
376376
cdef:
377377
bint done
378-
Py_ssize_t i
378+
Py_ssize_t _
379379

380-
for i in range(nrows):
380+
for _ in range(nrows):
381381
done = self.readline()
382382
if done:
383383
break

pandas/tests/frame/test_ufunc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ def test_binary_input_aligns_columns(request, dtype_a, dtype_b):
117117
df1 = pd.DataFrame({"A": [1, 2], "B": [3, 4]}).astype(dtype_a)
118118

119119
if isinstance(dtype_a, dict) and isinstance(dtype_b, dict):
120+
dtype_b = dtype_b.copy()
120121
dtype_b["C"] = dtype_b.pop("B")
121122
df2 = pd.DataFrame({"A": [1, 2], "C": [3, 4]}).astype(dtype_b)
122123
# As of 2.0, align first before applying the ufunc

pandas/tests/io/test_pickle.py

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import datetime
1616
import functools
1717
from functools import partial
18-
import glob
1918
import gzip
2019
import io
2120
import os
@@ -53,7 +52,7 @@
5352
)
5453

5554

56-
@pytest.fixture(scope="module")
55+
@pytest.fixture
5756
def current_pickle_data():
5857
# our current version pickle data
5958
from pandas.tests.io.generate_legacy_storage_files import create_pickle_data
@@ -82,15 +81,6 @@ def compare_element(result, expected, typ):
8281
comparator(result, expected)
8382

8483

85-
legacy_dirname = os.path.join(os.path.dirname(__file__), "data", "legacy_pickle")
86-
files = glob.glob(os.path.join(legacy_dirname, "*", "*.pickle"))
87-
88-
89-
@pytest.fixture(params=files)
90-
def legacy_pickle(request, datapath):
91-
return datapath(request.param)
92-
93-
9484
# ---------------------
9585
# tests
9686
# ---------------------
@@ -125,50 +115,54 @@ def test_flatten_buffer(data):
125115
assert result.shape == (result.nbytes,)
126116

127117

128-
def test_pickles(legacy_pickle):
118+
def test_pickles(datapath):
129119
if not is_platform_little_endian():
130120
pytest.skip("known failure on non-little endian")
131121

132-
data = pd.read_pickle(legacy_pickle)
133-
134-
for typ, dv in data.items():
135-
for dt, result in dv.items():
136-
expected = data[typ][dt]
137-
138-
if typ == "series" and dt == "ts":
139-
# GH 7748
140-
tm.assert_series_equal(result, expected)
141-
assert result.index.freq == expected.index.freq
142-
assert not result.index.freq.normalize
143-
tm.assert_series_equal(result > 0, expected > 0)
144-
145-
# GH 9291
146-
freq = result.index.freq
147-
assert freq + Day(1) == Day(2)
148-
149-
res = freq + pd.Timedelta(hours=1)
150-
assert isinstance(res, pd.Timedelta)
151-
assert res == pd.Timedelta(days=1, hours=1)
152-
153-
res = freq + pd.Timedelta(nanoseconds=1)
154-
assert isinstance(res, pd.Timedelta)
155-
assert res == pd.Timedelta(days=1, nanoseconds=1)
156-
elif typ == "index" and dt == "period":
157-
tm.assert_index_equal(result, expected)
158-
assert isinstance(result.freq, MonthEnd)
159-
assert result.freq == MonthEnd()
160-
assert result.freqstr == "M"
161-
tm.assert_index_equal(result.shift(2), expected.shift(2))
162-
elif typ == "series" and dt in ("dt_tz", "cat"):
163-
tm.assert_series_equal(result, expected)
164-
elif typ == "frame" and dt in (
165-
"dt_mixed_tzs",
166-
"cat_onecol",
167-
"cat_and_float",
168-
):
169-
tm.assert_frame_equal(result, expected)
170-
else:
171-
compare_element(result, expected, typ)
122+
# For loop for compat with --strict-data-files
123+
for legacy_pickle in Path(__file__).parent.glob("data/legacy_pickle/*/*.p*kl*"):
124+
legacy_pickle = datapath(legacy_pickle)
125+
126+
data = pd.read_pickle(legacy_pickle)
127+
128+
for typ, dv in data.items():
129+
for dt, result in dv.items():
130+
expected = data[typ][dt]
131+
132+
if typ == "series" and dt == "ts":
133+
# GH 7748
134+
tm.assert_series_equal(result, expected)
135+
assert result.index.freq == expected.index.freq
136+
assert not result.index.freq.normalize
137+
tm.assert_series_equal(result > 0, expected > 0)
138+
139+
# GH 9291
140+
freq = result.index.freq
141+
assert freq + Day(1) == Day(2)
142+
143+
res = freq + pd.Timedelta(hours=1)
144+
assert isinstance(res, pd.Timedelta)
145+
assert res == pd.Timedelta(days=1, hours=1)
146+
147+
res = freq + pd.Timedelta(nanoseconds=1)
148+
assert isinstance(res, pd.Timedelta)
149+
assert res == pd.Timedelta(days=1, nanoseconds=1)
150+
elif typ == "index" and dt == "period":
151+
tm.assert_index_equal(result, expected)
152+
assert isinstance(result.freq, MonthEnd)
153+
assert result.freq == MonthEnd()
154+
assert result.freqstr == "M"
155+
tm.assert_index_equal(result.shift(2), expected.shift(2))
156+
elif typ == "series" and dt in ("dt_tz", "cat"):
157+
tm.assert_series_equal(result, expected)
158+
elif typ == "frame" and dt in (
159+
"dt_mixed_tzs",
160+
"cat_onecol",
161+
"cat_and_float",
162+
):
163+
tm.assert_frame_equal(result, expected)
164+
else:
165+
compare_element(result, expected, typ)
172166

173167

174168
def python_pickler(obj, path):
@@ -580,9 +574,15 @@ def test_pickle_big_dataframe_compression(protocol, compression):
580574
tm.assert_frame_equal(df, result)
581575

582576

583-
def test_pickle_frame_v124_unpickle_130():
577+
def test_pickle_frame_v124_unpickle_130(datapath):
584578
# GH#42345 DataFrame created in 1.2.x, unpickle in 1.3.x
585-
path = os.path.join(legacy_dirname, "1.2.4", "empty_frame_v1_2_4-GH#42345.pkl")
579+
path = datapath(
580+
Path(__file__).parent,
581+
"data",
582+
"legacy_pickle",
583+
"1.2.4",
584+
"empty_frame_v1_2_4-GH#42345.pkl",
585+
)
586586
with open(path, "rb") as fd:
587587
df = pickle.load(fd)
588588

0 commit comments

Comments
 (0)