Найдите наиболее часто встречающиеся числа в Python с помощью Pandas из CSV

#python #pandas #csv

#python #панды #csv

Вопрос:

У меня есть 5 строк с 10 числами от 1 до 100

 |   | A | B | C  | D  | E  | F  | G  | H  | I  | J  |
 --- --- --- ---- ---- ---- ---- ---- ---- ---- ---- 
| 1 | 1 | 3 |  4 |  8 | 12 | 35 | 41 | 70 | 79 | 98 |
| 2 | 3 | 4 |  6 |  8 | 13 | 38 | 45 | 72 | 83 | 84 |
| 3 | 7 | 9 | 12 | 41 | 72 | 83 | 84 | 85 | 86 | 98 |
| 4 | 2 | 7 | 12 | 38 | 41 | 51 | 52 | 54 | 68 | 70 |
| 5 | 1 | 3 |  4 |  8 | 13 | 26 | 38 | 54 | 57 | 73 |
 --- --- --- ---- ---- ---- ---- ---- ---- ---- ---- 
 

Как чаще всего находить 2 или более чисел?

Например:

  1. В 1-м и 5-м ряду есть 1, 3, 4, 8
  2. В 1-м, 2-м, 5-м есть 3, 4, 8
  3. Во 2-м и 5-м есть 3, 4, 8, 13
  4. В 3-й и 4-й строках есть 7, 12

Комментарии:

1. пожалуйста, опубликуйте ожидаемый результат

Ответ №1:

Вы можете использовать numpy и scipy для поиска режима.

 import numpy as np
from scipy import stats

nums = np.array(your_array)

mode = stats.mode(nums)
print(mode[0)
 

Ответ №2:

Конечно, может быть более одного числа с максимальным количеством, вы можете оставить, .idxmax чтобы просмотреть все подсчеты.

 df.unstack().value_counts().idxmax()