Series.filter()

Метод Series.filter() отбирает элементы по меткам индекса. В отличие от Series.loc и булевой индексации, он работает только с метками (не значениями) и поддерживает шаблоны и регулярные выражения.

Сигнатура

Series.filter(items=None, like=None, regex=None, axis=None)

Параметры

  • items — список конкретных меток.

  • like — подстрока, которую должна содержать метка.

  • regex — регулярное выражение для метки.

Параметры взаимоисключающие — задаётся только один.

Возвращаемое значение

Новый Series с подходящими элементами.

Примеры

Пример 1. По списку items

import pandas as pd

s = pd.Series([22, 23, 24, 25],
              index=["sensor_A", "sensor_B", "sensor_C", "sensor_D"])
print(s.filter(items=["sensor_A", "sensor_C"]))
sensor_A    22
sensor_C    24
dtype: int64

Пример 2. По подстроке like

import pandas as pd

s = pd.Series([1, 2, 3, 4],
              index=["temp_in", "temp_out", "hum_in", "press_out"])
print(s.filter(like="in"))
temp_in    1
temp_out   2
hum_in     3
dtype: int64

Примечание

like ищет подстроку. Например, "in" найдётся и в "temp_in", и в "temp_out".

Пример 3. Регулярное выражение

import pandas as pd

s = pd.Series([10, 20, 30, 40],
              index=["s_01", "s_02", "a_01", "s_10"])
print(s.filter(regex=r"^s_0\d$"))
s_01    10
s_02    20
dtype: int64

Пример 4. Пустой результат

import pandas as pd

s = pd.Series([1, 2], index=["a", "b"])
print(s.filter(items=["x", "y"]))
Series([], dtype: int64)

Пример 5. like с цифрами

import pandas as pd

s = pd.Series([22.1, 22.2, 22.3], index=["t_2025", "t_2026", "h_2026"])
print(s.filter(like="2026"))
t_2026    22.2
h_2026    22.3
dtype: float64

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.