diff --git a/pandas/tests/frame/test_arithmetic.py b/pandas/tests/frame/test_arithmetic.py index 3adc63e1a27f6..0864032b741c9 100644 --- a/pandas/tests/frame/test_arithmetic.py +++ b/pandas/tests/frame/test_arithmetic.py @@ -2007,11 +2007,11 @@ def test_bool_frame_mult_float(): tm.assert_frame_equal(result, expected) -def test_frame_sub_nullable_int(any_int_dtype): +def test_frame_sub_nullable_int(any_int_ea_dtype): # GH 32822 - series1 = Series([1, 2, np.nan], dtype=any_int_dtype) - series2 = Series([1, 2, 3], dtype=any_int_dtype) - expected = DataFrame([0, 0, np.nan], dtype=any_int_dtype) + series1 = Series([1, 2, None], dtype=any_int_ea_dtype) + series2 = Series([1, 2, 3], dtype=any_int_ea_dtype) + expected = DataFrame([0, 0, None], dtype=any_int_ea_dtype) result = series1.to_frame() - series2.to_frame() tm.assert_frame_equal(result, expected) diff --git a/pandas/tests/frame/test_constructors.py b/pandas/tests/frame/test_constructors.py index 5360885067c7a..78db4f7ea5c75 100644 --- a/pandas/tests/frame/test_constructors.py +++ b/pandas/tests/frame/test_constructors.py @@ -2574,7 +2574,8 @@ def check_views(c_only: bool = False): # FIXME(GH#35417): until GH#35417, iloc.setitem into EA values does not preserve # view, so we have to check in the other direction - df.iloc[:, 2] = pd.array([45, 46], dtype=c.dtype) + with tm.assert_produces_warning(FutureWarning, match="will attempt to set"): + df.iloc[:, 2] = pd.array([45, 46], dtype=c.dtype) assert df.dtypes.iloc[2] == c.dtype if not copy: check_views(True) diff --git a/pandas/tests/groupby/aggregate/test_numba.py b/pandas/tests/groupby/aggregate/test_numba.py index 9f71c2c2fa0b6..2890b7930611c 100644 --- a/pandas/tests/groupby/aggregate/test_numba.py +++ b/pandas/tests/groupby/aggregate/test_numba.py @@ -47,7 +47,7 @@ def incorrect_function(values, index): @td.skip_if_no("numba") -@pytest.mark.filterwarnings("ignore:\n") +@pytest.mark.filterwarnings("ignore") # Filter warnings when parallel=True and the function can't be parallelized by Numba @pytest.mark.parametrize("jit", [True, False]) @pytest.mark.parametrize("pandas_obj", ["Series", "DataFrame"]) @@ -76,7 +76,7 @@ def func_numba(values, index): @td.skip_if_no("numba") -@pytest.mark.filterwarnings("ignore:\n") +@pytest.mark.filterwarnings("ignore") # Filter warnings when parallel=True and the function can't be parallelized by Numba @pytest.mark.parametrize("jit", [True, False]) @pytest.mark.parametrize("pandas_obj", ["Series", "DataFrame"]) diff --git a/pandas/tests/groupby/test_numba.py b/pandas/tests/groupby/test_numba.py index cce92e0763fb8..4eb7b6a7b5bea 100644 --- a/pandas/tests/groupby/test_numba.py +++ b/pandas/tests/groupby/test_numba.py @@ -10,7 +10,7 @@ @td.skip_if_no("numba") -@pytest.mark.filterwarnings("ignore:\n") +@pytest.mark.filterwarnings("ignore") # Filter warnings when parallel=True and the function can't be parallelized by Numba class TestEngine: def test_cython_vs_numba_frame( diff --git a/pandas/tests/groupby/transform/test_numba.py b/pandas/tests/groupby/transform/test_numba.py index 1b8570dbdc21d..0e26cdc294b55 100644 --- a/pandas/tests/groupby/transform/test_numba.py +++ b/pandas/tests/groupby/transform/test_numba.py @@ -44,7 +44,7 @@ def incorrect_function(values, index): @td.skip_if_no("numba") -@pytest.mark.filterwarnings("ignore:\n") +@pytest.mark.filterwarnings("ignore") # Filter warnings when parallel=True and the function can't be parallelized by Numba @pytest.mark.parametrize("jit", [True, False]) @pytest.mark.parametrize("pandas_obj", ["Series", "DataFrame"]) @@ -73,7 +73,7 @@ def func(values, index): @td.skip_if_no("numba") -@pytest.mark.filterwarnings("ignore:\n") +@pytest.mark.filterwarnings("ignore") # Filter warnings when parallel=True and the function can't be parallelized by Numba @pytest.mark.parametrize("jit", [True, False]) @pytest.mark.parametrize("pandas_obj", ["Series", "DataFrame"]) diff --git a/pandas/tests/io/parser/test_parse_dates.py b/pandas/tests/io/parser/test_parse_dates.py index 240b4b725aacd..449d5a954613b 100644 --- a/pandas/tests/io/parser/test_parse_dates.py +++ b/pandas/tests/io/parser/test_parse_dates.py @@ -1538,7 +1538,12 @@ def test_date_parser_resolution_if_not_ns(all_parsers): """ def date_parser(dt, time): - return np.array(dt + "T" + time, dtype="datetime64[s]") + try: + arr = dt + "T" + time + except TypeError: + # dt & time are date/time objects + arr = [datetime.combine(d, t) for d, t in zip(dt, time)] + return np.array(arr, dtype="datetime64[s]") result = parser.read_csv( StringIO(data), diff --git a/pandas/tests/strings/test_find_replace.py b/pandas/tests/strings/test_find_replace.py index a6e51cc2f98d6..1c74950e30c40 100644 --- a/pandas/tests/strings/test_find_replace.py +++ b/pandas/tests/strings/test_find_replace.py @@ -25,7 +25,11 @@ def test_contains(any_string_dtype): values = Series(values, dtype=any_string_dtype) pat = "mmm[_]+" - result = values.str.contains(pat) + with tm.maybe_produces_warning( + PerformanceWarning, + any_string_dtype == "string[pyarrow]" and pa_version_under4p0, + ): + result = values.str.contains(pat) expected_dtype = "object" if any_string_dtype == "object" else "boolean" expected = Series( np.array([False, np.nan, True, True, False], dtype=np.object_), @@ -88,7 +92,11 @@ def test_contains(any_string_dtype): ) tm.assert_series_equal(result, expected) - result = values.str.contains(pat, na=False) + with tm.maybe_produces_warning( + PerformanceWarning, + any_string_dtype == "string[pyarrow]" and pa_version_under4p0, + ): + result = values.str.contains(pat, na=False) expected_dtype = np.bool_ if any_string_dtype == "object" else "boolean" expected = Series(np.array([False, False, True, True]), dtype=expected_dtype) tm.assert_series_equal(result, expected) @@ -181,7 +189,11 @@ def test_contains_moar(any_string_dtype): dtype=any_string_dtype, ) - result = s.str.contains("a") + with tm.maybe_produces_warning( + PerformanceWarning, + any_string_dtype == "string[pyarrow]" and pa_version_under4p0, + ): + result = s.str.contains("a") expected_dtype = "object" if any_string_dtype == "object" else "boolean" expected = Series( [False, False, False, True, True, False, np.nan, False, False, True], @@ -619,7 +631,11 @@ def test_replace_moar(any_string_dtype): dtype=any_string_dtype, ) - result = ser.str.replace("A", "YYY") + with tm.maybe_produces_warning( + PerformanceWarning, + any_string_dtype == "string[pyarrow]" and pa_version_under4p0, + ): + result = ser.str.replace("A", "YYY") expected = Series( ["YYY", "B", "C", "YYYaba", "Baca", "", np.nan, "CYYYBYYY", "dog", "cat"], dtype=any_string_dtype, @@ -727,7 +743,11 @@ def test_replace_regex_single_character(regex, any_string_dtype): ): result = s.str.replace(".", "a", regex=regex) else: - result = s.str.replace(".", "a", regex=regex) + with tm.maybe_produces_warning( + PerformanceWarning, + any_string_dtype == "string[pyarrow]" and pa_version_under4p0, + ): + result = s.str.replace(".", "a", regex=regex) expected = Series(["aab", "a", "b", np.nan, ""], dtype=any_string_dtype) tm.assert_series_equal(result, expected) diff --git a/pandas/tests/strings/test_strings.py b/pandas/tests/strings/test_strings.py index db99ba8368a8a..aa31a5505b866 100644 --- a/pandas/tests/strings/test_strings.py +++ b/pandas/tests/strings/test_strings.py @@ -562,7 +562,11 @@ def test_slice_replace(start, stop, repl, expected, any_string_dtype): def test_strip_lstrip_rstrip(any_string_dtype, method, exp): ser = Series([" aa ", " bb \n", np.nan, "cc "], dtype=any_string_dtype) - result = getattr(ser.str, method)() + with tm.maybe_produces_warning( + PerformanceWarning, + any_string_dtype == "string[pyarrow]" and pa_version_under4p0, + ): + result = getattr(ser.str, method)() expected = Series(exp, dtype=any_string_dtype) tm.assert_series_equal(result, expected) diff --git a/pandas/tests/window/test_numba.py b/pandas/tests/window/test_numba.py index a029c88fa3a7d..89e00af270a02 100644 --- a/pandas/tests/window/test_numba.py +++ b/pandas/tests/window/test_numba.py @@ -50,7 +50,7 @@ def arithmetic_numba_supported_operators(request): @td.skip_if_no("numba") -@pytest.mark.filterwarnings("ignore:\n") +@pytest.mark.filterwarnings("ignore") # Filter warnings when parallel=True and the function can't be parallelized by Numba class TestEngine: @pytest.mark.parametrize("jit", [True, False]) @@ -331,7 +331,7 @@ def test_invalid_kwargs_nopython(): @td.skip_if_no("numba") @pytest.mark.slow -@pytest.mark.filterwarnings("ignore:\n") +@pytest.mark.filterwarnings("ignore") # Filter warnings when parallel=True and the function can't be parallelized by Numba class TestTableMethod: def test_table_series_valueerror(self): diff --git a/pandas/tests/window/test_online.py b/pandas/tests/window/test_online.py index b98129e1b07ec..88f462869d8b6 100644 --- a/pandas/tests/window/test_online.py +++ b/pandas/tests/window/test_online.py @@ -24,7 +24,8 @@ @td.skip_if_no("numba") -@pytest.mark.filterwarnings("ignore:\n") +@pytest.mark.filterwarnings("ignore") +# Filter warnings when parallel=True and the function can't be parallelized by Numba class TestEWM: def test_invalid_update(self): df = DataFrame({"a": range(5), "b": range(5)}) diff --git a/pyproject.toml b/pyproject.toml index 2f09b003defc6..0e2e41fba461c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,7 +50,6 @@ filterwarnings = [ "ignore:pandas.util.testing is deprecated:FutureWarning:importlib", # Will be fixed in numba 0.56: https://github.com/numba/numba/issues/7758 "ignore:`np.MachAr` is deprecated:DeprecationWarning:numba", - ] junit_family = "xunit2" markers = [