The following issues were found

pandas/tests/frame/methods/test_between_time.py
61 issues
Unable to import 'pytest'
Error

Line: 7 Column: 1

              )

import numpy as np
import pytest

from pandas._libs.tslibs import timezones
import pandas.util._test_decorators as td

from pandas import (

            

Reported by Pylint.

No name 'timezones' in module 'pandas._libs.tslibs'
Error

Line: 9 Column: 1

              import numpy as np
import pytest

from pandas._libs.tslibs import timezones
import pandas.util._test_decorators as td

from pandas import (
    DataFrame,
    Series,

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from datetime import (
    datetime,
    time,
)

import numpy as np
import pytest

from pandas._libs.tslibs import timezones

            

Reported by Pylint.

Missing class docstring
Error

Line: 20 Column: 1

              import pandas._testing as tm


class TestBetweenTime:
    @td.skip_if_has_locale
    def test_between_time_formats(self, frame_or_series):
        # GH#11818
        rng = date_range("1/1/2000", "1/5/2000", freq="5min")
        ts = DataFrame(np.random.randn(len(rng), 2), index=rng)

            

Reported by Pylint.

Method could be a function
Error

Line: 22 Column: 5

              
class TestBetweenTime:
    @td.skip_if_has_locale
    def test_between_time_formats(self, frame_or_series):
        # GH#11818
        rng = date_range("1/1/2000", "1/5/2000", freq="5min")
        ts = DataFrame(np.random.randn(len(rng), 2), index=rng)
        if frame_or_series is Series:
            ts = ts[0]

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 22 Column: 5

              
class TestBetweenTime:
    @td.skip_if_has_locale
    def test_between_time_formats(self, frame_or_series):
        # GH#11818
        rng = date_range("1/1/2000", "1/5/2000", freq="5min")
        ts = DataFrame(np.random.randn(len(rng), 2), index=rng)
        if frame_or_series is Series:
            ts = ts[0]

            

Reported by Pylint.

Variable name "ts" doesn't conform to snake_case naming style
Error

Line: 25 Column: 9

                  def test_between_time_formats(self, frame_or_series):
        # GH#11818
        rng = date_range("1/1/2000", "1/5/2000", freq="5min")
        ts = DataFrame(np.random.randn(len(rng), 2), index=rng)
        if frame_or_series is Series:
            ts = ts[0]

        strings = [
            ("2:00", "2:30"),

            

Reported by Pylint.

Variable name "ts" doesn't conform to snake_case naming style
Error

Line: 27 Column: 13

                      rng = date_range("1/1/2000", "1/5/2000", freq="5min")
        ts = DataFrame(np.random.randn(len(rng), 2), index=rng)
        if frame_or_series is Series:
            ts = ts[0]

        strings = [
            ("2:00", "2:30"),
            ("0200", "0230"),
            ("2:00am", "2:30am"),

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 42
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                      expected_length = 28

        for time_string in strings:
            assert len(ts.between_time(*time_string)) == expected_length

    @pytest.mark.parametrize("tzstr", ["US/Eastern", "dateutil/US/Eastern"])
    def test_localized_between_time(self, tzstr, frame_or_series):
        tz = timezones.maybe_get_tz(tzstr)


            

Reported by Bandit.

Method could be a function
Error

Line: 45 Column: 5

                          assert len(ts.between_time(*time_string)) == expected_length

    @pytest.mark.parametrize("tzstr", ["US/Eastern", "dateutil/US/Eastern"])
    def test_localized_between_time(self, tzstr, frame_or_series):
        tz = timezones.maybe_get_tz(tzstr)

        rng = date_range("4/16/2012", "5/1/2012", freq="H")
        ts = Series(np.random.randn(len(rng)), index=rng)
        if frame_or_series is DataFrame:

            

Reported by Pylint.

pandas/tests/series/methods/test_reindex.py
61 issues
Unable to import 'pytest'
Error

Line: 2 Column: 1

              import numpy as np
import pytest

from pandas import (
    Categorical,
    Index,
    MultiIndex,
    NaT,
    Period,

            

Reported by Pylint.

Access to a protected member _with_freq of a client class
Error

Line: 87 Column: 22

              
    result = ts.reindex(list(ts.index[5:10]))
    expected = ts[5:10]
    expected.index = expected.index._with_freq(None)
    tm.assert_series_equal(result, expected)

    result = ts[list(ts.index[5:10])]
    tm.assert_series_equal(result, expected)


            

Reported by Pylint.

Access to a protected member _with_freq of a client class
Error

Line: 104 Column: 29

              
    # pass non-Index
    reindexed = datetime_series.reindex(list(datetime_series.index))
    datetime_series.index = datetime_series.index._with_freq(None)
    tm.assert_series_equal(datetime_series, reindexed)

    # bad fill method
    ts = datetime_series[::2]
    msg = (

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import numpy as np
import pytest

from pandas import (
    Categorical,
    Index,
    MultiIndex,
    NaT,
    Period,

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 18 Column: 1

              import pandas._testing as tm


def test_reindex(datetime_series, string_series):
    identity = string_series.reindex(string_series.index)

    # __array_interface__ is not defined for older numpies
    # and on some pythons
    try:

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 24
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                  # __array_interface__ is not defined for older numpies
    # and on some pythons
    try:
        assert np.may_share_memory(string_series.index, identity.index)
    except AttributeError:
        pass

    assert identity.index.is_(string_series.index)
    assert identity.index.identical(string_series.index)

            

Reported by Bandit.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 28
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                  except AttributeError:
        pass

    assert identity.index.is_(string_series.index)
    assert identity.index.identical(string_series.index)

    subIndex = string_series.index[10:20]
    subSeries = string_series.reindex(subIndex)


            

Reported by Bandit.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 29
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                      pass

    assert identity.index.is_(string_series.index)
    assert identity.index.identical(string_series.index)

    subIndex = string_series.index[10:20]
    subSeries = string_series.reindex(subIndex)

    for idx, val in subSeries.items():

            

Reported by Bandit.

Variable name "subIndex" doesn't conform to snake_case naming style
Error

Line: 31 Column: 5

                  assert identity.index.is_(string_series.index)
    assert identity.index.identical(string_series.index)

    subIndex = string_series.index[10:20]
    subSeries = string_series.reindex(subIndex)

    for idx, val in subSeries.items():
        assert val == string_series[idx]


            

Reported by Pylint.

Variable name "subSeries" doesn't conform to snake_case naming style
Error

Line: 32 Column: 5

                  assert identity.index.identical(string_series.index)

    subIndex = string_series.index[10:20]
    subSeries = string_series.reindex(subIndex)

    for idx, val in subSeries.items():
        assert val == string_series[idx]

    subIndex2 = datetime_series.index[10:20]

            

Reported by Pylint.

pandas/tests/io/formats/style/test_bar.py
60 issues
Unable to import 'pytest'
Error

Line: 2 Column: 1

              import numpy as np
import pytest

from pandas import DataFrame

pytest.importorskip("jinja2")


def bar_grad(a=None, b=None, c=None, d=None):

            

Reported by Pylint.

Redefining name 'df_pos' from outer scope (line 40)
Error

Line: 66 Column: 31

                      (np.median, [bar_to(50), no_bar(), bar_from_to(50, 100)]),
    ],
)
def test_align_positive_cases(df_pos, align, exp):
    # test different align cases for all positive values
    result = df_pos.style.bar(align=align)._compute().ctx
    expected = {(0, 0): exp[0], (1, 0): exp[1], (2, 0): exp[2]}
    assert result == expected


            

Reported by Pylint.

Access to a protected member _compute of a client class
Error

Line: 68 Column: 14

              )
def test_align_positive_cases(df_pos, align, exp):
    # test different align cases for all positive values
    result = df_pos.style.bar(align=align)._compute().ctx
    expected = {(0, 0): exp[0], (1, 0): exp[1], (2, 0): exp[2]}
    assert result == expected


@pytest.mark.parametrize(

            

Reported by Pylint.

Redefining name 'df_neg' from outer scope (line 45)
Error

Line: 85 Column: 31

                      (np.median, [bar_from_to(50, 100), no_bar(), bar_to(50)]),
    ],
)
def test_align_negative_cases(df_neg, align, exp):
    # test different align cases for all negative values
    result = df_neg.style.bar(align=align)._compute().ctx
    expected = {(0, 0): exp[0], (1, 0): exp[1], (2, 0): exp[2]}
    assert result == expected


            

Reported by Pylint.

Access to a protected member _compute of a client class
Error

Line: 87 Column: 14

              )
def test_align_negative_cases(df_neg, align, exp):
    # test different align cases for all negative values
    result = df_neg.style.bar(align=align)._compute().ctx
    expected = {(0, 0): exp[0], (1, 0): exp[1], (2, 0): exp[2]}
    assert result == expected


@pytest.mark.parametrize(

            

Reported by Pylint.

Redefining name 'df_mix' from outer scope (line 50)
Error

Line: 105 Column: 28

                  ],
)
@pytest.mark.parametrize("nans", [True, False])
def test_align_mixed_cases(df_mix, align, exp, nans):
    # test different align cases for mixed positive and negative values
    # also test no impact of NaNs and no_bar
    expected = {(0, 0): exp[0], (1, 0): exp[1], (2, 0): exp[2]}
    if nans:
        df_mix.loc[3, :] = np.nan

            

Reported by Pylint.

Access to a protected member _compute of a client class
Error

Line: 112 Column: 14

                  if nans:
        df_mix.loc[3, :] = np.nan
        expected.update({(3, 0): no_bar()})
    result = df_mix.style.bar(align=align)._compute().ctx
    assert result == expected


@pytest.mark.parametrize(
    "align, exp",

            

Reported by Pylint.

Access to a protected member _compute of a client class
Error

Line: 176 Column: 9

                  # test all axis combinations with positive values and different aligns
    data = DataFrame([[1, 2], [3, 4]])
    result = (
        data.style.bar(align=align, axis=None if axis == "none" else axis)
        ._compute()
        .ctx
    )
    expected = {
        (0, 0): exp[axis][0][0],

            

Reported by Pylint.

Redefining name 'df_neg' from outer scope (line 45)
Error

Line: 199 Column: 37

              )
@pytest.mark.parametrize("nullify", [None, "vmin", "vmax"])  # test min/max separately
@pytest.mark.parametrize("align", ["left", "right", "zero", "mid"])
def test_vmin_vmax_clipping(df_pos, df_neg, df_mix, values, vmin, vmax, nullify, align):
    # test that clipping occurs if any vmin > data_values or vmax < data_values
    if align == "mid":  # mid acts as left or right in each case
        if values == "positive":
            align = "left"
        elif values == "negative":

            

Reported by Pylint.

Redefining name 'df_pos' from outer scope (line 40)
Error

Line: 199 Column: 29

              )
@pytest.mark.parametrize("nullify", [None, "vmin", "vmax"])  # test min/max separately
@pytest.mark.parametrize("align", ["left", "right", "zero", "mid"])
def test_vmin_vmax_clipping(df_pos, df_neg, df_mix, values, vmin, vmax, nullify, align):
    # test that clipping occurs if any vmin > data_values or vmax < data_values
    if align == "mid":  # mid acts as left or right in each case
        if values == "positive":
            align = "left"
        elif values == "negative":

            

Reported by Pylint.

pandas/io/excel/_base.py
60 issues
No name 'parsers' in module 'pandas._libs'
Error

Line: 18 Column: 1

              
from pandas._config import config

from pandas._libs.parsers import STR_NA_VALUES
from pandas._typing import (
    Buffer,
    DtypeArg,
    FilePathOrBuffer,
    StorageOptions,

            

Reported by Pylint.

Unable to import 'pandas._libs.parsers'
Error

Line: 18 Column: 1

              
from pandas._config import config

from pandas._libs.parsers import STR_NA_VALUES
from pandas._typing import (
    Buffer,
    DtypeArg,
    FilePathOrBuffer,
    StorageOptions,

            

Reported by Pylint.

Unable to import 'xlrd'
Error

Line: 1182 Column: 13

                      if import_optional_dependency("xlrd", errors="ignore") is None:
            xlrd_version = None
        else:
            import xlrd

            xlrd_version = Version(get_version(xlrd))

        ext = None
        if engine is None:

            

Reported by Pylint.

Using possibly undefined loop variable 'asheetname'
Error

Line: 643 Column: 27

                      if ret_dict:
            return output
        else:
            return output[asheetname]


class ExcelWriter(metaclass=abc.ABCMeta):
    """
    Class for writing DataFrame objects into excel sheets.

            

Reported by Pylint.

Unused argument 'date_format'
Error

Line: 801 Column: 9

                      cls,
        path: FilePathOrBuffer | ExcelWriter,
        engine=None,
        date_format=None,
        datetime_format=None,
        mode: str = "w",
        storage_options: StorageOptions = None,
        if_sheet_exists: str | None = None,
        engine_kwargs: dict | None = None,

            

Reported by Pylint.

Unused argument 'datetime_format'
Error

Line: 802 Column: 9

                      path: FilePathOrBuffer | ExcelWriter,
        engine=None,
        date_format=None,
        datetime_format=None,
        mode: str = "w",
        storage_options: StorageOptions = None,
        if_sheet_exists: str | None = None,
        engine_kwargs: dict | None = None,
        **kwargs,

            

Reported by Pylint.

Unused argument 'mode'
Error

Line: 803 Column: 9

                      engine=None,
        date_format=None,
        datetime_format=None,
        mode: str = "w",
        storage_options: StorageOptions = None,
        if_sheet_exists: str | None = None,
        engine_kwargs: dict | None = None,
        **kwargs,
    ):

            

Reported by Pylint.

Unused argument 'storage_options'
Error

Line: 804 Column: 9

                      date_format=None,
        datetime_format=None,
        mode: str = "w",
        storage_options: StorageOptions = None,
        if_sheet_exists: str | None = None,
        engine_kwargs: dict | None = None,
        **kwargs,
    ):
        if kwargs:

            

Reported by Pylint.

Unused argument 'if_sheet_exists'
Error

Line: 805 Column: 9

                      datetime_format=None,
        mode: str = "w",
        storage_options: StorageOptions = None,
        if_sheet_exists: str | None = None,
        engine_kwargs: dict | None = None,
        **kwargs,
    ):
        if kwargs:
            if engine_kwargs is not None:

            

Reported by Pylint.

Invalid assignment to cls in method
Error

Line: 853 Column: 13

                                      stacklevel=4,
                    )

            cls = get_writer(engine)

        return object.__new__(cls)

    # declare external properties you can count on
    path = None

            

Reported by Pylint.

pandas/tests/strings/test_cat.py
60 issues
Unable to import 'pytest'
Error

Line: 2 Column: 1

              import numpy as np
import pytest

from pandas import (
    DataFrame,
    Index,
    MultiIndex,
    Series,
    _testing as tm,

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import numpy as np
import pytest

from pandas import (
    DataFrame,
    Index,
    MultiIndex,
    Series,
    _testing as tm,

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 16 Column: 1

              

@pytest.mark.parametrize("other", [None, Series, Index])
def test_str_cat_name(index_or_series, other):
    # GH 21053
    box = index_or_series
    values = ["a", "b"]
    if other:
        other = other(values)

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 25
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                  else:
        other = values
    result = box(values, name="name").str.cat(other, sep=",")
    assert result.name == "name"


def test_str_cat(index_or_series):
    box = index_or_series
    # test_cat above tests "str_cat" from ndarray;

            

Reported by Bandit.

Missing function or method docstring
Error

Line: 28 Column: 1

                  assert result.name == "name"


def test_str_cat(index_or_series):
    box = index_or_series
    # test_cat above tests "str_cat" from ndarray;
    # here testing "str.cat" from Series/Index to ndarray/list
    s = box(["a", "a", "b", "b", "c", np.nan])


            

Reported by Pylint.

Variable name "s" doesn't conform to snake_case naming style
Error

Line: 32 Column: 5

                  box = index_or_series
    # test_cat above tests "str_cat" from ndarray;
    # here testing "str.cat" from Series/Index to ndarray/list
    s = box(["a", "a", "b", "b", "c", np.nan])

    # single array
    result = s.str.cat()
    expected = "aabbc"
    assert result == expected

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 37
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                  # single array
    result = s.str.cat()
    expected = "aabbc"
    assert result == expected

    result = s.str.cat(na_rep="-")
    expected = "aabbc-"
    assert result == expected


            

Reported by Bandit.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 41
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              
    result = s.str.cat(na_rep="-")
    expected = "aabbc-"
    assert result == expected

    result = s.str.cat(sep="_", na_rep="NA")
    expected = "a_a_b_b_c_NA"
    assert result == expected


            

Reported by Bandit.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 45
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              
    result = s.str.cat(sep="_", na_rep="NA")
    expected = "a_a_b_b_c_NA"
    assert result == expected

    t = np.array(["a", np.nan, "b", "d", "foo", np.nan], dtype=object)
    expected = box(["aa", "a-", "bb", "bd", "cfoo", "--"])

    # Series/Index with array

            

Reported by Bandit.

Variable name "t" doesn't conform to snake_case naming style
Error

Line: 47 Column: 5

                  expected = "a_a_b_b_c_NA"
    assert result == expected

    t = np.array(["a", np.nan, "b", "d", "foo", np.nan], dtype=object)
    expected = box(["aa", "a-", "bb", "bd", "cfoo", "--"])

    # Series/Index with array
    result = s.str.cat(t, na_rep="-")
    assert_series_or_index_equal(result, expected)

            

Reported by Pylint.

pandas/tests/series/methods/test_asof.py
60 issues
Unable to import 'pytest'
Error

Line: 2 Column: 1

              import numpy as np
import pytest

from pandas._libs.tslibs import IncompatibleFrequency

from pandas import (
    Series,
    Timestamp,
    date_range,

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import numpy as np
import pytest

from pandas._libs.tslibs import IncompatibleFrequency

from pandas import (
    Series,
    Timestamp,
    date_range,

            

Reported by Pylint.

Missing class docstring
Error

Line: 17 Column: 1

              import pandas._testing as tm


class TestSeriesAsof:
    def test_basic(self):

        # array or list or dates
        N = 50
        rng = date_range("1/1/1990", periods=N, freq="53s")

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 18 Column: 5

              

class TestSeriesAsof:
    def test_basic(self):

        # array or list or dates
        N = 50
        rng = date_range("1/1/1990", periods=N, freq="53s")
        ts = Series(np.random.randn(N), index=rng)

            

Reported by Pylint.

Method could be a function
Error

Line: 18 Column: 5

              

class TestSeriesAsof:
    def test_basic(self):

        # array or list or dates
        N = 50
        rng = date_range("1/1/1990", periods=N, freq="53s")
        ts = Series(np.random.randn(N), index=rng)

            

Reported by Pylint.

Variable name "N" doesn't conform to snake_case naming style
Error

Line: 21 Column: 9

                  def test_basic(self):

        # array or list or dates
        N = 50
        rng = date_range("1/1/1990", periods=N, freq="53s")
        ts = Series(np.random.randn(N), index=rng)
        ts.iloc[15:30] = np.nan
        dates = date_range("1/1/1990", periods=N * 3, freq="25s")


            

Reported by Pylint.

Variable name "ts" doesn't conform to snake_case naming style
Error

Line: 23 Column: 9

                      # array or list or dates
        N = 50
        rng = date_range("1/1/1990", periods=N, freq="53s")
        ts = Series(np.random.randn(N), index=rng)
        ts.iloc[15:30] = np.nan
        dates = date_range("1/1/1990", periods=N * 3, freq="25s")

        result = ts.asof(dates)
        assert notna(result).all()

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 28
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                      dates = date_range("1/1/1990", periods=N * 3, freq="25s")

        result = ts.asof(dates)
        assert notna(result).all()
        lb = ts.index[14]
        ub = ts.index[30]

        result = ts.asof(list(dates))
        assert notna(result).all()

            

Reported by Bandit.

Variable name "lb" doesn't conform to snake_case naming style
Error

Line: 29 Column: 9

              
        result = ts.asof(dates)
        assert notna(result).all()
        lb = ts.index[14]
        ub = ts.index[30]

        result = ts.asof(list(dates))
        assert notna(result).all()
        lb = ts.index[14]

            

Reported by Pylint.

Variable name "ub" doesn't conform to snake_case naming style
Error

Line: 30 Column: 9

                      result = ts.asof(dates)
        assert notna(result).all()
        lb = ts.index[14]
        ub = ts.index[30]

        result = ts.asof(list(dates))
        assert notna(result).all()
        lb = ts.index[14]
        ub = ts.index[30]

            

Reported by Pylint.

pandas/tests/arrays/datetimes/test_reductions.py
60 issues
Unable to import 'pytest'
Error

Line: 2 Column: 1

              import numpy as np
import pytest

from pandas.core.dtypes.dtypes import DatetimeTZDtype

import pandas as pd
from pandas import NaT
import pandas._testing as tm
from pandas.core.arrays import DatetimeArray

            

Reported by Pylint.

Instance of 'Index' has no 'mean' member
Error

Line: 156 Column: 20

                      tm.assert_datetime_array_equal(result, expected)

        result = dta.mean(axis=None)
        expected = dti.mean()
        assert result == expected

    @pytest.mark.parametrize("skipna", [True, False])
    def test_mean_empty(self, arr1d, skipna):
        arr = arr1d[:0]

            

Reported by Pylint.

Instance of 'ExtensionIndex' has no 'mean' member
Error

Line: 156 Column: 20

                      tm.assert_datetime_array_equal(result, expected)

        result = dta.mean(axis=None)
        expected = dti.mean()
        assert result == expected

    @pytest.mark.parametrize("skipna", [True, False])
    def test_mean_empty(self, arr1d, skipna):
        arr = arr1d[:0]

            

Reported by Pylint.

Access to a protected member _from_sequence of a client class
Error

Line: 17 Column: 15

                  def arr1d(self, tz_naive_fixture):
        tz = tz_naive_fixture
        dtype = DatetimeTZDtype(tz=tz) if tz is not None else np.dtype("M8[ns]")
        arr = DatetimeArray._from_sequence(
            [
                "2000-01-03",
                "2000-01-03",
                "NaT",
                "2000-01-02",

            

Reported by Pylint.

Access to a protected member _from_sequence of a client class
Error

Line: 52 Column: 15

                  @pytest.mark.parametrize("skipna", [True, False])
    def test_min_max_empty(self, skipna, tz):
        dtype = DatetimeTZDtype(tz=tz) if tz is not None else np.dtype("M8[ns]")
        arr = DatetimeArray._from_sequence([], dtype=dtype)
        result = arr.min(skipna=skipna)
        assert result is NaT

        result = arr.max(skipna=skipna)
        assert result is NaT

            

Reported by Pylint.

Access to a protected member _from_sequence of a client class
Error

Line: 63 Column: 15

                  @pytest.mark.parametrize("skipna", [True, False])
    def test_median_empty(self, skipna, tz):
        dtype = DatetimeTZDtype(tz=tz) if tz is not None else np.dtype("M8[ns]")
        arr = DatetimeArray._from_sequence([], dtype=dtype)
        result = arr.median(skipna=skipna)
        assert result is NaT

        arr = arr.reshape(0, 3)
        result = arr.median(axis=0, skipna=skipna)

            

Reported by Pylint.

Access to a protected member _from_sequence of a client class
Error

Line: 69 Column: 20

              
        arr = arr.reshape(0, 3)
        result = arr.median(axis=0, skipna=skipna)
        expected = type(arr)._from_sequence([NaT, NaT, NaT], dtype=arr.dtype)
        tm.assert_equal(result, expected)

        result = arr.median(axis=1, skipna=skipna)
        expected = type(arr)._from_sequence([], dtype=arr.dtype)
        tm.assert_equal(result, expected)

            

Reported by Pylint.

Access to a protected member _from_sequence of a client class
Error

Line: 73 Column: 20

                      tm.assert_equal(result, expected)

        result = arr.median(axis=1, skipna=skipna)
        expected = type(arr)._from_sequence([], dtype=arr.dtype)
        tm.assert_equal(result, expected)

    def test_median(self, arr1d):
        arr = arr1d


            

Reported by Pylint.

Access to a protected member _from_sequence of a client class
Error

Line: 119 Column: 20

              
        # axis = 1
        result = arr.median(axis=1)
        expected = type(arr)._from_sequence([arr1d.median()])
        tm.assert_equal(result, expected)

        result = arr.median(axis=1, skipna=False)
        expected = type(arr)._from_sequence([NaT], dtype=arr.dtype)
        tm.assert_equal(result, expected)

            

Reported by Pylint.

Access to a protected member _from_sequence of a client class
Error

Line: 123 Column: 20

                      tm.assert_equal(result, expected)

        result = arr.median(axis=1, skipna=False)
        expected = type(arr)._from_sequence([NaT], dtype=arr.dtype)
        tm.assert_equal(result, expected)

    def test_mean(self, arr1d):
        arr = arr1d


            

Reported by Pylint.

pandas/tests/window/moments/test_moments_consistency_ewm.py
60 issues
Unable to import 'pytest'
Error

Line: 2 Column: 1

              import numpy as np
import pytest

from pandas import (
    DataFrame,
    Series,
    concat,
)
import pandas._testing as tm

            

Reported by Pylint.

Unused variable 'is_constant'
Error

Line: 124 Column: 8

              
@pytest.mark.parametrize("min_periods", [0, 1, 2, 3, 4])
def test_ewm_consistency_mean(consistency_data, adjust, ignore_na, min_periods):
    x, is_constant, no_nans = consistency_data
    com = 3.0

    result = x.ewm(
        com=com, min_periods=min_periods, adjust=adjust, ignore_na=ignore_na
    ).mean()

            

Reported by Pylint.

Unused variable 'no_nans'
Error

Line: 124 Column: 21

              
@pytest.mark.parametrize("min_periods", [0, 1, 2, 3, 4])
def test_ewm_consistency_mean(consistency_data, adjust, ignore_na, min_periods):
    x, is_constant, no_nans = consistency_data
    com = 3.0

    result = x.ewm(
        com=com, min_periods=min_periods, adjust=adjust, ignore_na=ignore_na
    ).mean()

            

Reported by Pylint.

Unused variable 'no_nans'
Error

Line: 142 Column: 21

              
@pytest.mark.parametrize("min_periods", [0, 1, 2, 3, 4])
def test_ewm_consistency_consistent(consistency_data, adjust, ignore_na, min_periods):
    x, is_constant, no_nans = consistency_data
    com = 3.0

    if is_constant:
        count_x = x.expanding().count()
        mean_x = x.ewm(

            

Reported by Pylint.

Unused variable 'no_nans'
Error

Line: 170 Column: 21

              def test_ewm_consistency_var_debiasing_factors(
    consistency_data, adjust, ignore_na, min_periods
):
    x, is_constant, no_nans = consistency_data
    com = 3.0

    # check variance debiasing factors
    var_unbiased_x = x.ewm(
        com=com, min_periods=min_periods, adjust=adjust, ignore_na=ignore_na

            

Reported by Pylint.

Unused variable 'is_constant'
Error

Line: 170 Column: 8

              def test_ewm_consistency_var_debiasing_factors(
    consistency_data, adjust, ignore_na, min_periods
):
    x, is_constant, no_nans = consistency_data
    com = 3.0

    # check variance debiasing factors
    var_unbiased_x = x.ewm(
        com=com, min_periods=min_periods, adjust=adjust, ignore_na=ignore_na

            

Reported by Pylint.

Unused variable 'is_constant'
Error

Line: 197 Column: 8

              def test_moments_consistency_var(
    consistency_data, adjust, ignore_na, min_periods, bias
):
    x, is_constant, no_nans = consistency_data
    com = 3.0

    mean_x = x.ewm(
        com=com, min_periods=min_periods, adjust=adjust, ignore_na=ignore_na
    ).mean()

            

Reported by Pylint.

Unused variable 'no_nans'
Error

Line: 197 Column: 21

              def test_moments_consistency_var(
    consistency_data, adjust, ignore_na, min_periods, bias
):
    x, is_constant, no_nans = consistency_data
    com = 3.0

    mean_x = x.ewm(
        com=com, min_periods=min_periods, adjust=adjust, ignore_na=ignore_na
    ).mean()

            

Reported by Pylint.

Unused variable 'no_nans'
Error

Line: 223 Column: 21

              def test_moments_consistency_var_constant(
    consistency_data, adjust, ignore_na, min_periods, bias
):
    x, is_constant, no_nans = consistency_data
    com = 3.0
    if is_constant:
        count_x = x.expanding(min_periods=min_periods).count()
        var_x = x.ewm(
            com=com, min_periods=min_periods, adjust=adjust, ignore_na=ignore_na

            

Reported by Pylint.

Unused variable 'no_nans'
Error

Line: 243 Column: 21

              @pytest.mark.parametrize("min_periods", [0, 1, 2, 3, 4])
@pytest.mark.parametrize("bias", [True, False])
def test_ewm_consistency_std(consistency_data, adjust, ignore_na, min_periods, bias):
    x, is_constant, no_nans = consistency_data
    com = 3.0
    var_x = x.ewm(
        com=com, min_periods=min_periods, adjust=adjust, ignore_na=ignore_na
    ).var(bias=bias)
    std_x = x.ewm(

            

Reported by Pylint.

pandas/io/excel/_openpyxl.py
59 issues
Unable to import 'openpyxl.descriptors.serialisable'
Error

Line: 28 Column: 5

              )

if TYPE_CHECKING:
    from openpyxl.descriptors.serialisable import Serialisable


class OpenpyxlWriter(ExcelWriter):
    engine = "openpyxl"
    supported_extensions = (".xlsx", ".xlsm")

            

Reported by Pylint.

Unable to import 'openpyxl.workbook'
Error

Line: 48 Column: 9

                      **kwargs,
    ):
        # Use the openpyxl module as the Excel writer.
        from openpyxl.workbook import Workbook

        engine_kwargs = combine_kwargs(engine_kwargs, kwargs)

        super().__init__(
            path,

            

Reported by Pylint.

Unable to import 'openpyxl'
Error

Line: 63 Column: 13

                      # ExcelWriter replaced "a" by "r+" to allow us to first read the excel file from
        # the file and later write to it
        if "r+" in self.mode:  # Load from existing workbook
            from openpyxl import load_workbook

            self.book = load_workbook(self.handles.handle)
            self.handles.handle.seek(0)
            self.sheets = {name: self.book[name] for name in self.book.sheetnames}


            

Reported by Pylint.

Unable to import 'openpyxl.styles'
Error

Line: 144 Column: 9

                      -------
        color : openpyxl.styles.Color
        """
        from openpyxl.styles import Color

        if isinstance(color_spec, str):
            return Color(color_spec)
        else:
            return Color(**color_spec)

            

Reported by Pylint.

Unable to import 'openpyxl.styles'
Error

Line: 179 Column: 9

                      -------
        font : openpyxl.styles.Font
        """
        from openpyxl.styles import Font

        _font_key_map = {
            "sz": "size",
            "b": "bold",
            "i": "italic",

            

Reported by Pylint.

Unable to import 'openpyxl.styles'
Error

Line: 243 Column: 9

                      -------
        fill : openpyxl.styles.Fill
        """
        from openpyxl.styles import (
            GradientFill,
            PatternFill,
        )

        _pattern_fill_key_map = {

            

Reported by Pylint.

Unable to import 'openpyxl.styles'
Error

Line: 301 Column: 9

                      -------
        side : openpyxl.styles.Side
        """
        from openpyxl.styles import Side

        _side_key_map = {"border_style": "style"}

        if isinstance(side_spec, str):
            return Side(style=side_spec)

            

Reported by Pylint.

Unable to import 'openpyxl.styles'
Error

Line: 343 Column: 9

                      -------
        border : openpyxl.styles.Border
        """
        from openpyxl.styles import Border

        _border_key_map = {"diagonalup": "diagonalUp", "diagonaldown": "diagonalDown"}

        border_kwargs = {}
        for k, v in border_dict.items():

            

Reported by Pylint.

Unable to import 'openpyxl.styles'
Error

Line: 378 Column: 9

                      -------
        alignment : openpyxl.styles.Alignment
        """
        from openpyxl.styles import Alignment

        return Alignment(**alignment_dict)

    @classmethod
    def _convert_to_number_format(cls, number_format_dict):

            

Reported by Pylint.

Unable to import 'openpyxl.styles'
Error

Line: 415 Column: 9

                      Returns
        -------
        """
        from openpyxl.styles import Protection

        return Protection(**protection_dict)

    def write_cells(
        self, cells, sheet_name=None, startrow=0, startcol=0, freeze_panes=None

            

Reported by Pylint.

pandas/tests/indexes/categorical/test_equals.py
59 issues
Unable to import 'pytest'
Error

Line: 2 Column: 1

              import numpy as np
import pytest

from pandas import (
    Categorical,
    CategoricalIndex,
    Index,
    MultiIndex,
)

            

Reported by Pylint.

Expression "ci1 == Index(['a', 'b', 'c'])" is assigned to nothing
Error

Line: 35 Column: 13

              
        # invalid comparisons
        with pytest.raises(ValueError, match="Lengths must match"):
            ci1 == Index(["a", "b", "c"])

        msg = "Categoricals can only be compared if 'categories' are the same"
        with pytest.raises(TypeError, match=msg):
            ci1 == ci2
        with pytest.raises(TypeError, match=msg):

            

Reported by Pylint.

Statement seems to have no effect
Error

Line: 39 Column: 13

              
        msg = "Categoricals can only be compared if 'categories' are the same"
        with pytest.raises(TypeError, match=msg):
            ci1 == ci2
        with pytest.raises(TypeError, match=msg):
            ci1 == Categorical(ci1.values, ordered=False)
        with pytest.raises(TypeError, match=msg):
            ci1 == Categorical(ci1.values, categories=list("abc"))


            

Reported by Pylint.

Expression "ci1 == Categorical(ci1.values, ordered=False)" is assigned to nothing
Error

Line: 41 Column: 13

                      with pytest.raises(TypeError, match=msg):
            ci1 == ci2
        with pytest.raises(TypeError, match=msg):
            ci1 == Categorical(ci1.values, ordered=False)
        with pytest.raises(TypeError, match=msg):
            ci1 == Categorical(ci1.values, categories=list("abc"))

        # tests
        # make sure that we are testing for category inclusion properly

            

Reported by Pylint.

Expression "ci1 == Categorical(ci1.values, categories=list('abc'))" is assigned to nothing
Error

Line: 43 Column: 13

                      with pytest.raises(TypeError, match=msg):
            ci1 == Categorical(ci1.values, ordered=False)
        with pytest.raises(TypeError, match=msg):
            ci1 == Categorical(ci1.values, categories=list("abc"))

        # tests
        # make sure that we are testing for category inclusion properly
        ci = CategoricalIndex(list("aabca"), categories=["c", "a", "b"])
        assert not ci.equals(list("aabca"))

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import numpy as np
import pytest

from pandas import (
    Categorical,
    CategoricalIndex,
    Index,
    MultiIndex,
)

            

Reported by Pylint.

Missing class docstring
Error

Line: 12 Column: 1

              )


class TestEquals:
    def test_equals_categorical(self):
        ci1 = CategoricalIndex(["a", "b"], categories=["a", "b"], ordered=True)
        ci2 = CategoricalIndex(["a", "b"], categories=["a", "b", "c"], ordered=True)

        assert ci1.equals(ci1)

            

Reported by Pylint.

Method could be a function
Error

Line: 13 Column: 5

              

class TestEquals:
    def test_equals_categorical(self):
        ci1 = CategoricalIndex(["a", "b"], categories=["a", "b"], ordered=True)
        ci2 = CategoricalIndex(["a", "b"], categories=["a", "b", "c"], ordered=True)

        assert ci1.equals(ci1)
        assert not ci1.equals(ci2)

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 13 Column: 5

              

class TestEquals:
    def test_equals_categorical(self):
        ci1 = CategoricalIndex(["a", "b"], categories=["a", "b"], ordered=True)
        ci2 = CategoricalIndex(["a", "b"], categories=["a", "b", "c"], ordered=True)

        assert ci1.equals(ci1)
        assert not ci1.equals(ci2)

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 17
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                      ci1 = CategoricalIndex(["a", "b"], categories=["a", "b"], ordered=True)
        ci2 = CategoricalIndex(["a", "b"], categories=["a", "b", "c"], ordered=True)

        assert ci1.equals(ci1)
        assert not ci1.equals(ci2)
        assert ci1.equals(ci1.astype(object))
        assert ci1.astype(object).equals(ci1)

        assert (ci1 == ci1).all()

            

Reported by Bandit.