Это многошаговое упражнение, которое, я подозреваю, может быть выполнено различными способами. Вот что я сделал и сделал.
tableA содержит магазины и бренды. таблица B содержит клиентов и магазины. Таблицы можно объединять в магазинах.
tableA = [(Ikea, 'Adidas, Nike'),
(Target, 'Adidas, NB'),
(Sears, 'Puma')]
labels = ['Store', 'Brand']
dfA = pd.DataFrame.from_records(tableA, columns=labels)
tableB = [('Neil', Ikea),
('Neil', Target),
('Javal', Target),
('Colleen', Ikea),
('Colleen', Sears),
('Javal', Target),
('Neil', Target),
('Colleen', Sears)]
labels = ['Customer', 'Store']
dfB = pd.DataFrame.from_records(tableB, columns=labels)
В качестве вывода я хочу иметь:
Клиенты в виде строк, бренды в столбцах и значения в качестве значений.
Во-первых, я хочу разобраться с делением клеток и подсчетом. Позже я присоединюсь к двум столам.
Расщепление
Лучшее, чего я могу достичь:
dfA['Adidas'], dfA['Nike'] = dfA['tags'].str.split(', ').str
Если я сделаю:
dfA['Adidas'], dfA['Nike'], dfA['NB'], dfA['Puma'] = dfA['tags'].str.split(', ').str
Я получаю ошибку:
ValueError: not enough values to unpack (expected 4, got 2)
Я понимаю природу ошибки, но пока не нашел альтернативы.
У меня есть вопросы:
(1) Должен ли я сначала разобраться с разбиением, а затем объединить таблицы?
(2) Как правильно разбить столбец?
(3) Как добавить правильное количество (Счетчик не имеет к этому никакого отношения, верно?)