df
файл price.csv
.brand
название бренда из колонки title
.'brand': '№ п/п'
, где порядковый номер начинается с единицы: {'Acer': 1, 'Asus': 2, 'HP': 3, 'Dell': 4, 'Apple': 5, 'Lenovo': 6}
(функция enumerate).brand_id
, в которую записать соответствующее значение словаря (на основе колонки brand
и ключа словаря).df_brands
из столбцов brand_id
и brand
, удалив при этом дубли (метод drop_duplicates).df
столбец brand
.products.csv
датафрейм df
(без индексов, разделитель - ;).brands.csv
датафрейм df_brands
(без индексов, разделитель - ;).import pandas as pd
df = pd.read_csv('price.csv', sep=';')
df
df['brand'] = df.title.str.extract('\w+ (?P<brand>\w+)')
df
df.brand.nunique()
df.brand.unique()
brands = {}
for el in enumerate(df.brand.unique(), 1):
brands[el[1]] = el[0]
brands
df['brand_id'] = df.brand.apply(lambda x: brands[x])
df
df_brands = df.loc[:, ['brand_id', 'brand']].drop_duplicates()
df_brands
df.drop(columns=['brand'], inplace=True)
df
df.to_csv('products.csv', index=False, sep=';')
df_brands.to_csv('brands.csv', index=False, sep=';')