У меня есть функция, которая ищет значение во фрейме данных panda, используя встроенную функцию isin. Проблема в том, что я хотел бы сделать эту функцию нечувствительной к регистру. Я мог бы проанализировать каждую колонку в серии и использовать 'str.contains', но я нахожу это немного уродливым. Вы знаете хороший способ сделать это?
Вот функция, возвращающая индекс и столбец данного мира:
def find_pos(self, titres):
bool_table = self.document.isin(titres)
for i in range(bool_table.shape[0]):
for j in range(bool_table.shape[1]):
boolean = bool_table.iloc[i][j]
if boolean:
return i, j
print(titres, " not found in csv", file=sys.stderr)
return -1, -1
Рабочий раствор - использовать лямбды:
bool_table = self.document.apply(lambda x: x.astype(str).str.lower()).isin([x.lower() for x in titres])
Поскольку я новичок в python, может быть, это не самый лучший способ сделать это?