Мне нужно сравнить наборы ключевых слов в последовательных строках панд: чтобы упростить задачу, я создал столбец df['next_row'] = df.key_words.shift(-1).
Вот df
df = pd.DataFrame({'customer' : [1,1,2,2],
"key_words":[['oil change'], ['oil change', 'filter'], ['leak'], ['leak', 'filter']]}
, если я попытаюсь df['next_row'].isin(df.key_words)
, я получуошибка
TypeError: unhashable type: 'list'
Я понимаю, что не могу сравнивать списки и должен вместо этого использовать строки.Я превратил next_row в строку:
df.next_row = df.next_row .str.join('|')
теперь, если я попытаюсь
df.key_words.str.contains(df['next_row'])
Я получу ошибку:
TypeError: 'Series' objects are mutable, thus they cannot be hashed
Как выполнить сравнение строк за строкой так вывод будет выглядеть примерно так:
df['word_match'] = ['oil change', nan, 'leak', nan]