Найти общие значения между двумя столбцами в отдельных фреймах данных (панды), где столбцы содержат список элементов - PullRequest
0 голосов
/ 03 октября 2018

Этот вопрос относится к ссылке .У меня есть два фрейма данных, которые могут содержать столбцы с аналогичной или точной информацией.Я пытаюсь сравнить столбец с именем Productdetailed в приведенном ниже примере.

>>> df1 = pd.DataFrame({ 'ID':['9', '10', '11', '12', '13', '14', '15', 
'16', '17', '18'],
'Productdetailed': [['Phone', 'Watch', 'Pen', 'Eraser'],
['Phone', 'Watch', 'Pen'] ,['Pencil', 'fork', 'Eraser'], ['Apple', 'Mango', 'Orange'],
['Something', 'Nothing', 'Everything'], ['Eraser', 'fork', 'Pencil'],
['Phone', 'Watch', 'Pen'],['Apple', 'Mango', 'Cherry'],
['Apple', 'Mango', 'Cherry'] ,['Pen', 'Phone', 'Watch']]})

>>> df2 = pd.DataFrame({ 'ID':['1', '2', '3', '4', '5', '6', '7', '8'],
'Productdetailed': [['Phone', 'Watch', 'Pen'], ['Pencil', 'fork', 'Eraser'], 
['Apple', 'Mango', 'Orange'], ['Something', 'Nothing', 'Everything'],
['Eraser', 'fork', 'Pencil'], ['Phone', 'Watch', 'Pen'],
['Apple', 'Mango', 'Cherry'], ['Pen', 'Phone', 'Watch']]})

Я разбил большой фрейм данных на две части, называемые df1 и df2, в зависимости от условия.Мне нужно выполнить точное аналогичное сравнение, как указано в предыдущей ссылке.Я пытаюсь найти записи, которые имеют элементы в списке со 100% соответствием.Я хотел бы найти те, которые имеют совпадение на 90% или ниже.

Сначала я хотел бы посчитать количество точно совпадающих элементов (количество найденных совпадений строк) вместе с порядковыми номерами строк.соответствует.Но когда есть элементы, у которых есть только частичное совпадение, например, df1 index 0 и df2 index 0. Я хотел бы сказать процент элементов, которые совпадают и с какими номерами столбцов.

Фреймы данных имеют разные размерыи порядковые номера не упорядочены, поскольку они вырваны из большого фрейма данных.

...