У меня есть датафрейм, который выглядит следующим образом.
code description col3 col4
123456 nice shoes size4 something something
123456 nice shoes size5 something something
567890 boots size 1 something something
567890 boots size 2 something something
567890 boots size 3 something something
234567 baby overall 2yrs something. something
234567 baby overall 3-4yrs something something
456778 shirt m Something. Something
456778 shirt l something Something
456778 shirt xl Something Something
Я хотел бы сократить «описание» до общей подстроки, основанной на аналогичном столбце «код». и отбросьте дубликаты.
code description col3 col4
123456 nice shoes something something
567890 boots something something
234567 baby overall something something
456778 shirt Something Something
Я подозреваю, что нужно сгруппировать и, возможно, применить функцию, но не смогу обойти это. Нашел функцию, но она принимает 2 строки. Не уверен, что это может помочь. И эта функция принимает только 2 строки, тогда как мои данные могут иметь 5 строк с одинаковым кодом ...
from difflib import SequenceMatcher
string1 = "apple pie available"
string2 = "come have some apple pies"
def extract_common(string1, string2):
match = SequenceMatcher(None, string1, string2).find_longest_match(0, len(string1), 0, len(string2))
print(match) # -> Match(a=0, b=15, size=9)
print(string1[match.a: match.a + match.size]) # -> apple pie
print(string2[match.b: match.b + match.size]) # -> apple pie
return string1[match.a: match.a + match.size]
Цените любую оказанную помощь.