В настоящее время я работаю с данными о товарах (поступающих из интернет-магазина), и эти продукты имеют иерархическую структуру категорий (категории 1, 2, 3), причем 3 является «наиболее определенной категорией» (представьте: футбольные бутсы (1) ), Обувь из искусственной травы (2), Adidas (3)).
Поскольку в наборе данных содержится более 25000 записей, я начал искать способ создания своего рода отображения, которое может сказать мне следующее:
Какие возможные комбинации 1,2,3 (или просто 1,2) присутствуют в данных? Под этим я подразумеваю не все возможные комбинации , а просто те, которые присутствуют в данных.
Я быстро пришел к декартову произведению , используя itertools
. Однако, рядом со мной, сталкивающимся с memory error
, я считаю, что itertools
(и идея декартового произведения) состоит в том, чтобы создать все возможные комбинации 1,2,3 (а не только те, которые действительно присутствуют).
Рассмотрим следующий кадр данных:
df = pd.DataFrame({'Product ID': [1,2,3,4], 'Category 1': ['A','B','B','B'], 'Category 2':['C', 'D', 'D', 'E']})
Так что в этом случае я хотел бы увидеть следующий вывод:
A, C
, B,D
, B,E
.
Надеюсь понятно:)
PS : Может ли кто-нибудь объяснить, как я могу добавить «блоки данных» в вопрос StackOverflow вместо словаря, подобного этому?