У меня есть фрейм данных, из которого мне нужно получить много метрик.Ниже приведены столбцы данных:
Consumer_ID|Client|Campaign|Date
Я пытаюсь получить уникальный счетчик столбца consumer_ID для различных комбинаций столбцов Client, Campaign и Date.До сих пор я придумал два решения:
- Групповые операторы с подсчетом в качестве функции agg для каждой комбинации клиента, кампании и даты.
- Запись для циклов и фильтрация накаждая комбинация столбцов клиента, кампании и даты, а затем с помощью функции nunique () получить окончательный счет.
Мой вопрос: есть ли более чистый и более питонский способ получения уникального счетчика одногостолбец для всех доступных комбинаций других столбцов?
Пример (раздражающее) решение с использованием groupbys: Да, понятно, но есть ли более питонный способ получить каждую комбинацию столбцов groupby?Например, сейчас, чтобы получить все комбинации, я должен написать:
df.groupby(['Client']).Consumer_ID.nunique()
df.groupby(['Client', 'Campaign']).Consumer_ID.nunique()
df.groupby(['Client', 'Campaign', 'Date']).Consumer_ID.nunique()
df.groupby(['Client', 'Date'].Consumer_ID.nunique()