Найти количество комбинаций столбцов в pandas df

У меня есть таблица в pandas df

product_id_x product_id_y 1 2 1 3 1 4 3 7 3 11 3 14 3 2 and so on around (1000 rows) 

Я хочу найти количество комбинаций для каждого product_id_x с product_id_y.

то есть. 1 имеет комбинации с 1-2,1-3,1-4 (всего 3 комбинации) аналогично 3 имеет всего 4 комбинации.

и создать фрейм данных df2, который имеет

 product_id_x combinations 1 3 3 4 and so on ..(distinct product_id_x's) 

какой подход я должен придерживаться? мои навыки на питоне на начальном уровне. Заранее спасибо.

2 Solutions collect form web for “Найти количество комбинаций столбцов в pandas df”

Вы можете использовать groupby с agg в столбце product_id_x :

 df2 = df.groupby(['product_id_x']).agg(['count']) 

Или вы можете напрямую использовать функцию size в группе, чтобы получить размер каждой группы:

 df2 = df.groupby(['product_id_x']).size() 

size подсчитывает количество строк, каждая из пар значений столбца происходит вместе. count подсчитывает то же самое, но там, где они не равны нулю. Поскольку вы ничего не упомянули о нулях, я буду использовать size после groupby , а затем unstack

 df.groupby(['product_id_x', 'product_id_y']).size().unstack(fill_value=0) 

введите описание изображения здесь

  • Почему я не могу использовать ttk в Python?
  • Как получить текст с текстом «быстрый ответ» в googles?
  • Как захватить вывод интерпретатора Python и показать в текстовом виджете?
  • Python: Unicode и ElementTree.parse
  • Как проверить, существует ли член Enum с определенным именем?
  • Как установить NumPy для Python 3.6
  • python 3 pip устанавливает нерабочую ошибку ASCII
  • Как отключить unicode экранированную строку в python?
  •  
    Interesting Posts for Van-Lav

    Как конвертировать datetime.time из UTC в другой часовой пояс?

    SQLAlchemy Логическое значение этого предложения не определено

    Запуск TensorFlow на кластере Slurm?

    Переопределение модуля тестирования модуля Python для пользовательского вывода?

    IPython.параллельно не использовать многоядерные?

    Как распаковать несколько кортежей в вызове функции

    Что является альтернативой execfile в Python 3?

    Pygame: рисовать одиночный пиксель

    частота букв в столбце python

    QThread обновляет строку состояния пользовательского интерфейса?

    Как я могу добавить представление, не возвращающее модель / запрос, с помощью django-restframework при использовании DjangoObjectPermissions?

    Переключение Django, для блока кода, переключает язык, поэтому переводы выполняются на одном языке

    Правильный способ периодической проверки api для новых данных?

    преобразование целого числа в список в python

    django.db.utils.IntegrityError: дублирующее значение ключа нарушает уникальное ограничение "django_content_type_pkey"

    Python - лучший язык программирования в мире.