Как я могу объединить строки в pandas фрейме данных с похожими именами? - PullRequest
1 голос
/ 30 января 2020

Я только кодировал python в течение последних 2 месяцев, поэтому извините, если это простой вопрос.

У меня есть два разных csv данных, скопированных с сайтов sephora и ulta, которые я объединил в один фрейм данных.

Когда я собрал группу, чтобы получить новый df товаров с тем же именем, которое можно найти в одном или другом, или в обоих, я не продвинулся далеко, так как sephora и ulta называют свои продукты малозаметными другой.

Вот фрагмент моего кода и то, что было напечатано обратно:

import pandas as pd
import re

sephora_csv = 'sephora_df.csv'
ulta_csv = 'ulta_df.csv'
sephora = pd.read_csv(sephora_csv)
ulta = pd.read_csv(ulta_csv)

frames = [ulta, sephora]
merge_df = pd.concat(frames)

makeup_df = merge_df.groupby(['Brand','Product','Product Type', 'Price'])['Store'].apply(', '.join).reset_index()

makeup_df

42  Anastasia Beverly Hills Blush Kit   blush   21.00   Ulta
43  Anastasia Beverly Hills Blush Trio  blush   30.00   Sephora
44  Anastasia Beverly Hills Blush Trios blush   30.00   Ulta


Как вы можете видеть, у ABH есть трио в Sephora и Tr ios в Ulta.

Имеется более 1600 строк, поэтому я не могу просто go просмотреть каждую строку и переименовать их самостоятельно.

Как я могу переименовать ее так, чтобы она выглядела так:

43  Anastasia Beverly Hills Blush Trio  blush   30.00   Sephora, Ulta

Спасибо!

Редактировать: Этот пример не единственный, например, другой продукт имеет похожее имя, но в конечном итоге строка «Чайное дерево» добавляется к названию продукта, но не в название продукта sephora.

...