Как подсчитать количество упоминаний каждой характеристики из записей, где характеристики для строки отделены друг от друга символом ";"? Например: "old;white".
Для определения количества записей вам нужно просто посчитать количество строк или элементов в вашем списке или базе данных. Для подсчета количества упоминаний каждой характеристики из записей, где характеристики отделены символом ";" в каждой строке, вы можете применить следующий алгоритм: 1. Создайте пустой словарь, где ключами будут характеристики, а значениями - количество упоминаний этих характеристик. 2. Проходите по каждой записи и разбивайте строку на отдельные характеристики по символу ";". 3. Для каждой характеристики проверяйте, есть ли она уже в словаре. Если есть, увеличивайте соответствующее значение на 1. Если нет, добавляйте новую запись в словарь с начальным значением 1. 4. После того, как вы обработаете все записи, у вас будет подсчитано количество упоминаний каждой характеристики. Например, если у вас есть список записей: ["old;white", "young;black", "old;green", "old;white"] После обработки этого списка вам будет иметь словарь: { "old": 3, "white": 2, "young": 1, "black": 1, "green": 1 }
Прочитать все записи, разбить строку по разделителю, скормить всё в collections.Counter.
С pandas не работал, вот пример для списков:
from collections import Counter from itertools import chain data = [ (1, 'old;white'), (2, 'old;green'), (3, 'old;brown'), (4, 'new;green'), ] # генерирует последовательность ['old', 'white'], ['old', 'green'], ... split_generator = (item[1].split(';') for item in data) # генерирует последовательность 'old', 'white', 'old', 'green', ... property_generator = chain.from_iterable(split_generator) # исправляет регистр и удаляет пробелы - можно убрать, если не надо property_fixed_generator = (item.strip().lower() for item in property_generator) # поглощает данные из генераторов и считает вхождения count = Counter(property_fixed_generator) print(count) # Counter({'old': 3, 'green': 2, 'white': 1, 'brown': 1, 'new': 1})