Как применить value_counts ко всем элементам DataFrame? - PullRequest
0 голосов
/ 06 апреля 2020

В серию легко применить значение value_counts:

In [1]: import pandas as pd

In [2]: a = pd.DataFrame([[2,3],[2,2],[3,2],[2,1]])

In [3]: a
Out[3]: 
   0  1
0  2  3
1  2  2
2  3  2
3  2  1

In [4]: a[0].value_counts()
Out[4]: 
2    3
3    1
Name: 0, dtype: int64

Мне нужно что-то вроде

In [5]: a.value_counts()
Out[5]: 
2    5
3    2
1    1
dtype: int64

Однако a.value_counts() возвращает 'DataFrame' object has no attribute 'value_counts'.

Как я могу применить value_counts к элементу DataFrame?

1 Ответ

2 голосов
/ 06 апреля 2020

Вы можете преобразовать в numpy, выровнять данные и затем изменить их на серию pandas:

pd.Series(a.to_numpy().reshape(-1)).value_counts()

2    5
3    2
1    1
dtype: int64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...