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.