Как показать частоту элементов в пандах DataFrame? - PullRequest
1 голос
/ 09 марта 2019

У меня есть пандас DataFrame, содержащий следующие столбцы (с существующим числовым индексом):

    points | variety
    ----------------
1       97 | Chardonnay
17      67 | Cabernet Sauvignon
12      70 | Cabernet Sauvignon
8       97 | Chardonnay

Я хотел бы преобразовать это в новый DataFrame с:

  • Столбец points как новый индекс
  • Один столбец для каждой уникальной записи в столбце variety
  • Значения в новых столбцах с названием сорта, в которых указана частота, с которой встречался каждый сорт для исходного значения points в исходной таблице.

например. из приведенного выше примера:

    Chardonnay | Cabernet Sauvignon
    -------------------------------
97           2 | 0
67           0 | 1
70           0 | 1

Обратите внимание, что исходный индекс не имеет отношения к выводу. Вот изображение, показывающее более полный пример: Pandas DataFrame Snapshot .

1 Ответ

2 голосов
/ 09 марта 2019

Вы можете использовать Pandas.crosstab для этого:

pd.crosstab(index=df.points, columns=df.variety)

[out]

variety  Cabernet Sauvignon  Chardonnay
points                                 
67                        1           0
70                        1           0
97                        0           2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...