BUG: inconsistency in Index.getitem for Numpy and non-numpy dtypes · Issue #55820 · pandas-dev/pandas (original) (raw)
Pandas version checks
- I have checked that this issue has not already been reported.
- I have confirmed this bug exists on the latest version of pandas.
- I have confirmed this bug exists on the main branch of pandas.
Reproducible Example
ser = pd.Index([1, 2], dtype="Int64") ser[np.array([], dtype=np.bool_)]
This raises while NumPy dtypes, e.g. "int64" works.
Traceback (most recent call last): File "/Users/patrick/Library/Application Support/JetBrains/PyCharm2023.2/scratches/scratch.py", line 477, in ser[np.array([], dtype=np.bool_)] File "/Users/patrick/PycharmProjects/pandas/pandas/core/indexes/base.py", line 5360, in getitem result = getitem(key) File "/Users/patrick/PycharmProjects/pandas/pandas/core/arrays/masked.py", line 182, in getitem item = check_array_indexer(self, item) File "/Users/patrick/PycharmProjects/pandas/pandas/core/indexers/utils.py", line 539, in check_array_indexer raise IndexError( IndexError: Boolean index has wrong length: 0 instead of 2
Issue Description
Not sure what we want to expect here, the Series case raises for all dtypes
Expected Behavior
See above
Installed Versions
Replace this line with the output of pd.show_versions()