Python: объединить 2 таблицы на основе частичного совпадения текста в обеих таблицах - PullRequest
1 голос
/ 02 мая 2020

У меня есть 2 таблицы - описание и часть. Я хочу извлечь соответствующий код ремонта и тип на основе данных в таблице описания. Также я хочу получить количество совпадений для каждой строки в описании. Если существует более одного совпадения, выходная таблица должна содержать все соответствующие совпадения.

Ниже приведен пример:

Таблица описания выглядит следующим образом:

|-----------------------------------------------------------|
|         **Description**                                   |
|-----------------------------------------------------------|
|  Special Charges Parts Special Parts                      |
|-----------------------------------------------------------|
|  Misc. Charges Chairs broken and Table Handle Repair      |
|-----------------------------------------------------------|
|  Misc. Charges Table Repair                               |
|-----------------------------------------------------------|
|  Special Charges Spare Parts                              |
|-----------------------------------------------------------|
|  VAT Charges Additional                                   |  
|-----------------------------------------------------------|

Таблица кодов выглядит следующим образом:

|---------------------|------------------|
|      **Code**       |     **Type**     |
|---------------------|------------------|
|  Special Charges    | Special Parts    |
|---------------------|------------------|
|  Special Charges    | Administrative   |
|---------------------|------------------|
|  Misc. Charges      | Chair Repair     | 
|---------------------|------------------|
|  Misc. Charges      | Table Handle     |
|---------------------|------------------|

Требуемый вывод:

|---------------------------------------------------|-----------------|--------------|---------------|
|         **Description**                           |    **Code**     |  **Type**    |** # Matches** |
|---------------------------------------------------|-----------------|------------- |---------------|  
|Special Charges Parts Special Parts                | Special Charges |Special Parts |   1           |   
|---------------------------------------------------|-----------------|--------------|---------------|
|Misc. Charges Chair broken and Table Handle Repair | Misc. Charges   |Chair Repair  |   2           | 
|---------------------------------------------------|-----------------|--------------|---------------|
|Misc. Charges Chair broken and Table Handle Repair | Misc. Charges   |Table Handle  |   2           | 
|---------------------------------------------------|-----------------|--------------|---------------|
|Misc. Charges Table Handle                         | Misc. Charges   |Table Handle  |   1           | 
|---------------------------------------------------|-----------------|--------------|---------------|
|Special Charges Spare Parts              |         | Special Charges |              |   0           |               
|---------------------------------------------------|-----------------|--------------|---------------|
|VAT Charges Additional                             |                 |              |   0           | 
|---------------------------------------------------|-----------------|--------------|---------------|

Вот входные данные фреймы данных:

Описание = {'Описание': ['Части специальных зарядов Специальные детали', 'Mis c. Зарядка сломанных стульев и ремонт ручки стола ',' Mis c. Ремонт таблицы сборов »,« Запасные части специальных сборов »,« Дополнительные сборы НДС »]}

Описание = pd.DataFrame (Описание)

Код = {'Код': ['Специальные сборы ',' Специальные сборы ',' Mis c. Расходы, 'Mis c. Сборы '],' Тип ': [' Специальные детали ',' Административные ',' Ремонт кресла ',' Ручка стола ']}

Код = pd.DataFrame (Код)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...