#python #data-mining
#питон #интеллектуальный анализ данных
Вопрос:
Комментарии:
1. Пожалуйста, добавьте ответ в данный набор данных.
Ответ №1:
Учитывая ваш набор данных
dataset = [['Milk', 'Onion', 'Nutmeg', 'Kidney Beans', 'Eggs', 'Yogurt'], ['Dill', 'Onion', 'Nutmeg', 'Kidney Beans', 'Eggs', 'Yogurt'], ['Milk', 'Apple', 'Kidney Beans', 'Eggs'], ['Milk', 'Unicorn', 'Corn', 'Kidney Beans', 'Yogurt'], ['Corn', 'Onion', 'Onion', 'Kidney Beans', 'Ice cream', 'Eggs']]
сначала мы делаем массив плоским, а затем подсчитываем вхождения каждого элемента
flat_dataset = [item for sublist in dataset for item in sublist] counter = { item:flat_dataset.count(item) for item in flat_dataset }
Результат:
{'Milk': 3, 'Onion': 4, 'Nutmeg': 2, 'Kidney Beans': 5, 'Eggs': 4, 'Yogurt': 3, 'Dill': 1, 'Apple': 1, 'Unicorn': 1, 'Corn': 2, 'Ice cream': 1}
Если вам просто нужны какие-то конкретные ключи, используйте
counter.get('Onion') # 4 counter.get('Kidney Beans') counter.get('Eggs') # 9
если вы хотите, сколько раз » Лук » появляется хотя бы один раз в каждом подмассиве
sum(['Onion' in subset for subset in dataset]) # 3
если вы хотите, сколько раз «Фасоль» и «Яйца» появляются вместе хотя бы один раз в каждом подмассиве
sum(['Kidney Beans' and 'Eggs' in subset for subset in dataset]) # 4
Комментарии:
1. Обратите внимание, что это дает сумму всех вхождений «фасоли» и «яиц», ни объединения (которое дедуплицировало бы), ни пересечения.
2. Спасибо вам за разъяснение. Я изменил ответ также с учетом вашего наблюдения