Skip to content

Commit b31c069

Browse files
authored
CLN: Numpy compat functions namespace (#39092)
1 parent bffa3ed commit b31c069

28 files changed

+53
-38
lines changed

pandas/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
del hard_dependencies, dependency, missing_dependencies
2020

2121
# numpy compat
22-
from pandas.compat.numpy import (
22+
from pandas.compat import (
2323
np_version_under1p17 as _np_version_under1p17,
2424
np_version_under1p18 as _np_version_under1p18,
2525
is_numpy_dev as _is_numpy_dev,

pandas/compat/__init__.py

+20
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,15 @@
1212
import warnings
1313

1414
from pandas._typing import F
15+
from pandas.compat.numpy import (
16+
is_numpy_dev,
17+
np_array_datetime64_compat,
18+
np_datetime64_compat,
19+
np_version_under1p17,
20+
np_version_under1p18,
21+
np_version_under1p19,
22+
np_version_under1p20,
23+
)
1524

1625
PY38 = sys.version_info >= (3, 8)
1726
PY39 = sys.version_info >= (3, 9)
@@ -118,3 +127,14 @@ def get_lzma_file(lzma):
118127
"might be required to solve this issue."
119128
)
120129
return lzma.LZMAFile
130+
131+
132+
__all__ = [
133+
"is_numpy_dev",
134+
"np_array_datetime64_compat",
135+
"np_datetime64_compat",
136+
"np_version_under1p17",
137+
"np_version_under1p18",
138+
"np_version_under1p19",
139+
"np_version_under1p20",
140+
]

pandas/compat/numpy/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
_nlv = LooseVersion(_np_version)
1111
np_version_under1p17 = _nlv < LooseVersion("1.17")
1212
np_version_under1p18 = _nlv < LooseVersion("1.18")
13-
_np_version_under1p19 = _nlv < LooseVersion("1.19")
14-
_np_version_under1p20 = _nlv < LooseVersion("1.20")
13+
np_version_under1p19 = _nlv < LooseVersion("1.19")
14+
np_version_under1p20 = _nlv < LooseVersion("1.20")
1515
is_numpy_dev = ".dev" in str(_nlv)
1616
_min_numpy_ver = "1.16.5"
1717

pandas/core/array_algos/masked_reductions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import numpy as np
99

1010
from pandas._libs import missing as libmissing
11-
from pandas.compat.numpy import np_version_under1p17
11+
from pandas.compat import np_version_under1p17
1212

1313
from pandas.core.nanops import check_below_min_count
1414

pandas/core/common.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
from pandas._libs import lib
2828
from pandas._typing import AnyArrayLike, NpDtype, Scalar, T
29-
from pandas.compat.numpy import np_version_under1p18
29+
from pandas.compat import np_version_under1p18
3030

3131
from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike
3232
from pandas.core.dtypes.common import (

pandas/tests/arithmetic/test_datetime64.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from pandas._libs.tslibs.conversion import localize_pydatetime
1414
from pandas._libs.tslibs.offsets import shift_months
15-
from pandas.compat.numpy import np_datetime64_compat
15+
from pandas.compat import np_datetime64_compat
1616
from pandas.errors import PerformanceWarning
1717

1818
import pandas as pd

pandas/tests/arrays/integer/test_arithmetic.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import numpy as np
44
import pytest
55

6-
from pandas.compat.numpy import _np_version_under1p20
6+
from pandas.compat import np_version_under1p20
77

88
import pandas as pd
99
import pandas._testing as tm
@@ -208,7 +208,7 @@ def test_arith_coerce_scalar(data, all_arithmetic_operators):
208208
expected = op(s.astype(float), other)
209209
expected = expected.astype("Float64")
210210
# rfloordiv results in nan instead of inf
211-
if all_arithmetic_operators == "__rfloordiv__" and _np_version_under1p20:
211+
if all_arithmetic_operators == "__rfloordiv__" and np_version_under1p20:
212212
# for numpy 1.20 https://github.com/numpy/numpy/pull/16161
213213
# updated floordiv, now matches our behavior defined in core.ops
214214
mask = (

pandas/tests/arrays/sparse/test_arithmetics.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import numpy as np
44
import pytest
55

6-
from pandas.compat.numpy import _np_version_under1p20
6+
from pandas.compat import np_version_under1p20
77

88
import pandas as pd
99
import pandas._testing as tm
@@ -122,7 +122,7 @@ def test_float_scalar(
122122
):
123123
op = all_arithmetic_functions
124124

125-
if not _np_version_under1p20:
125+
if not np_version_under1p20:
126126
if op in [operator.floordiv, ops.rfloordiv]:
127127
mark = pytest.mark.xfail(strict=False, reason="GH#38172")
128128
request.node.add_marker(mark)
@@ -169,7 +169,7 @@ def test_float_same_index_with_nans(
169169
# when sp_index are the same
170170
op = all_arithmetic_functions
171171

172-
if not _np_version_under1p20:
172+
if not np_version_under1p20:
173173
if op in [operator.floordiv, ops.rfloordiv]:
174174
mark = pytest.mark.xfail(strict=False, reason="GH#38172")
175175
request.node.add_marker(mark)
@@ -349,7 +349,7 @@ def test_bool_array_logical(self, kind, fill_value):
349349
def test_mixed_array_float_int(self, kind, mix, all_arithmetic_functions, request):
350350
op = all_arithmetic_functions
351351

352-
if not _np_version_under1p20:
352+
if not np_version_under1p20:
353353
if op in [operator.floordiv, ops.rfloordiv] and mix:
354354
mark = pytest.mark.xfail(strict=True, reason="GH#38172")
355355
request.node.add_marker(mark)

pandas/tests/arrays/test_datetimelike.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import pytest
66

77
from pandas._libs import NaT, OutOfBoundsDatetime, Timestamp
8-
from pandas.compat.numpy import np_version_under1p18
8+
from pandas.compat import np_version_under1p18
99

1010
import pandas as pd
1111
from pandas import DatetimeIndex, Period, PeriodIndex, TimedeltaIndex

pandas/tests/base/test_value_counts.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import pytest
77

88
from pandas._libs import iNaT
9-
from pandas.compat.numpy import np_array_datetime64_compat
9+
from pandas.compat import np_array_datetime64_compat
1010

1111
from pandas.core.dtypes.common import needs_i8_conversion
1212

pandas/tests/computation/test_eval.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
import numpy as np
99
import pytest
1010

11-
from pandas.compat import is_platform_windows
12-
from pandas.compat.numpy import np_version_under1p17
11+
from pandas.compat import is_platform_windows, np_version_under1p17
1312
from pandas.errors import PerformanceWarning
1413
import pandas.util._test_decorators as td
1514

pandas/tests/frame/methods/test_sample.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
import pytest
33

4-
from pandas.compat.numpy import np_version_under1p17
4+
from pandas.compat import np_version_under1p17
55

66
from pandas import DataFrame, Series
77
import pandas._testing as tm

pandas/tests/frame/test_constructors.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import pytest
1111
import pytz
1212

13-
from pandas.compat.numpy import _np_version_under1p19
13+
from pandas.compat import np_version_under1p19
1414

1515
from pandas.core.dtypes.common import is_integer_dtype
1616
from pandas.core.dtypes.dtypes import DatetimeTZDtype, IntervalDtype, PeriodDtype
@@ -149,7 +149,7 @@ def test_constructor_dtype_list_data(self):
149149
assert df.loc[1, 0] is None
150150
assert df.loc[0, 1] == "2"
151151

152-
@pytest.mark.skipif(_np_version_under1p19, reason="NumPy change.")
152+
@pytest.mark.skipif(np_version_under1p19, reason="NumPy change.")
153153
def test_constructor_list_of_2d_raises(self):
154154
# https://github.com/pandas-dev/pandas/issues/32289
155155
a = DataFrame()

pandas/tests/indexes/multi/test_analytics.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
import pytest
33

4-
from pandas.compat.numpy import np_version_under1p17
4+
from pandas.compat import np_version_under1p17
55

66
import pandas as pd
77
from pandas import Index, MultiIndex, date_range, period_range

pandas/tests/indexes/period/test_searchsorted.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import pytest
33

44
from pandas._libs.tslibs import IncompatibleFrequency
5-
from pandas.compat.numpy import np_version_under1p18
5+
from pandas.compat import np_version_under1p18
66

77
from pandas import NaT, Period, PeriodIndex, Series, array
88
import pandas._testing as tm

pandas/tests/indexes/test_base.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
import pytest
1010

1111
from pandas._libs.tslib import Timestamp
12-
from pandas.compat import IS64
13-
from pandas.compat.numpy import np_datetime64_compat
12+
from pandas.compat import IS64, np_datetime64_compat
1413
from pandas.util._test_decorators import async_mark
1514

1615
import pandas as pd

pandas/tests/indexes/test_numpy_compat.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
import pytest
33

4-
from pandas.compat.numpy import np_version_under1p17, np_version_under1p18
4+
from pandas.compat import np_version_under1p17, np_version_under1p18
55

66
from pandas import (
77
DatetimeIndex,

pandas/tests/indexing/test_loc.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import numpy as np
88
import pytest
99

10-
from pandas.compat.numpy import is_numpy_dev
10+
from pandas.compat import is_numpy_dev
1111
import pandas.util._test_decorators as td
1212

1313
import pandas as pd

pandas/tests/io/parser/test_parse_dates.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
from pandas._libs.tslib import Timestamp
1616
from pandas._libs.tslibs import parsing
1717
from pandas._libs.tslibs.parsing import parse_datetime_string
18-
from pandas.compat import is_platform_windows
19-
from pandas.compat.numpy import np_array_datetime64_compat
18+
from pandas.compat import is_platform_windows, np_array_datetime64_compat
2019

2120
import pandas as pd
2221
from pandas import DataFrame, DatetimeIndex, Index, MultiIndex, Series

pandas/tests/plotting/test_converter.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77

88
import pandas._config.config as cf
99

10-
from pandas.compat import is_platform_windows
11-
from pandas.compat.numpy import np_datetime64_compat
10+
from pandas.compat import is_platform_windows, np_datetime64_compat
1211
import pandas.util._test_decorators as td
1312

1413
from pandas import Index, Period, Series, Timestamp, date_range

pandas/tests/scalar/period/test_period.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from pandas._libs.tslibs.parsing import DateParseError
1111
from pandas._libs.tslibs.period import INVALID_FREQ_ERR_MSG, IncompatibleFrequency
1212
from pandas._libs.tslibs.timezones import dateutil_gettz, maybe_get_tz
13-
from pandas.compat.numpy import np_datetime64_compat
13+
from pandas.compat import np_datetime64_compat
1414

1515
import pandas as pd
1616
from pandas import NaT, Period, Timedelta, Timestamp, offsets

pandas/tests/scalar/timedelta/test_arithmetic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import numpy as np
88
import pytest
99

10-
from pandas.compat.numpy import is_numpy_dev
10+
from pandas.compat import is_numpy_dev
1111

1212
import pandas as pd
1313
from pandas import NaT, Timedelta, Timestamp, compat, offsets

pandas/tests/scalar/timestamp/test_timestamp.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from pytz import timezone, utc
1313

1414
from pandas._libs.tslibs.timezones import dateutil_gettz as gettz, get_timezone
15-
from pandas.compat.numpy import np_datetime64_compat
15+
from pandas.compat import np_datetime64_compat
1616
import pandas.util._test_decorators as td
1717

1818
from pandas import NaT, Timedelta, Timestamp

pandas/tests/test_algos.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
import pytest
77

88
from pandas._libs import algos as libalgos, hashtable as ht
9-
from pandas.compat import IS64
10-
from pandas.compat.numpy import np_array_datetime64_compat
9+
from pandas.compat import IS64, np_array_datetime64_compat
1110
import pandas.util._test_decorators as td
1211

1312
from pandas.core.dtypes.common import (

pandas/tests/test_common.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import numpy as np
77
import pytest
88

9-
from pandas.compat.numpy import np_version_under1p17
9+
from pandas.compat import np_version_under1p17
1010

1111
import pandas as pd
1212
from pandas import Series

pandas/tests/tseries/offsets/test_business_day.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import pytest
88

99
from pandas._libs.tslibs.offsets import ApplyTypeError, BDay, BMonthEnd, CDay
10-
from pandas.compat.numpy import np_datetime64_compat
10+
from pandas.compat import np_datetime64_compat
1111

1212
from pandas import DatetimeIndex, _testing as tm, read_pickle
1313
from pandas.tests.tseries.offsets.common import (

pandas/tests/tseries/offsets/test_offsets.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import pandas._libs.tslibs.offsets as liboffsets
1212
from pandas._libs.tslibs.offsets import _get_offset, _offset_map
1313
from pandas._libs.tslibs.period import INVALID_FREQ_ERR_MSG
14-
from pandas.compat.numpy import np_datetime64_compat
14+
from pandas.compat import np_datetime64_compat
1515
from pandas.errors import PerformanceWarning
1616

1717
from pandas import DatetimeIndex

pandas/tests/tslibs/test_array_to_datetime.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import pytz
77

88
from pandas._libs import iNaT, tslib
9-
from pandas.compat.numpy import np_array_datetime64_compat
9+
from pandas.compat import np_array_datetime64_compat
1010

1111
from pandas import Timestamp
1212
import pandas._testing as tm

0 commit comments

Comments
 (0)