.isin
проверяет, содержится ли каждое значение в столбце в списке произвольных значений. Примерно эквивалентно value in [value1, value2]
.
.contains
проверяет, содержатся ли произвольные значения в каждом значении в столбце. Примерно эквивалентно substring in large_string
.
Другими словами, .isin
работает по столбцам и доступен для всех типов данных. .contains
работает поэлементно и имеет смысл только при работе со строками (или значениями, которые могут быть представлены в виде строк).
Из официальной документации:
Series.isin (значения)
Проверьте, содержатся ли значения в Серии.
Возвращает логическую Серию, показывающую, является ли каждый элемент Серии
точно соответствует элементу в переданной последовательности значений.
Series.str.contains (pat, case = True, flags = 0, na = nan, **
** регулярное выражение = True)
Проверка, содержится ли шаблон или регулярное выражение в
строка серии или индекса.
Возвращает логический ряд или индекс в зависимости от того, является ли данный шаблон или
регулярное выражение содержится в строке серии или индекса.
Примеры:
print(df)
# a
# 0 aa
# 1 ba
# 2 ca
print(df[df['a'].isin(['aa', 'ca'])])
# a
# 0 aa
# 2 ca
print(df[df['a'].str.contains('b')])
# a
# 1 ba