Распределение частот по всем значениям в кадре данных

1

У меня есть следующий фреймворк данных, например mydata:

             1        10       100    ...           97        98        99
0     23.53500  23.53500  23.53500    ...     23.53500  23.53500  23.53500
1     24.20000  24.20000  24.20000    ...     24.20000  24.20000  24.20000
2     23.71500  23.71500  23.71500    ...     23.71500  23.71500  23.71500
3     23.24000  23.24000  23.24000    ...     23.24000  23.24000  23.24000
4     22.79500  22.79500  22.79500    ...     22.79500  22.79500  22.79500
5     18.70150  18.70150  18.70150    ...     18.70150  18.70150  18.70150
6     10.56550  10.56550  10.56550    ...     10.56550  10.56550  10.56550
7      0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
8      0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
9      0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
10     0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
11     1.24300   1.24300   1.24300    ...      1.24300   1.24300   1.24300
12     7.68400   7.68400   7.68400    ...      7.68400   7.68400   7.68400
13     1.46900   1.46900   1.46900    ...      1.46900   1.46900   1.46900
14    10.50900  10.50900  10.50900    ...     10.50900  10.50900  10.50900
15    18.58850  18.58850  18.58850    ...     18.58850  18.58850  18.58850
16    22.93500  22.93500  22.93500    ...     22.93500  22.93500  22.93500
17    23.54500  23.54500  23.54500    ...     23.54500  23.54500  23.54500
18    24.21500  24.21500  24.21500    ...     24.21500  24.21500  24.21500
19    25.23000  25.23000  25.23000    ...     25.23000  25.23000  25.23000
20    25.88100  25.88100  25.88100    ...     25.88100  25.88100  25.88100
21    26.33775  26.33775  26.33775    ...     26.33775  26.33775  26.33775
22    26.72000  26.72000  26.72000    ...     26.72000  26.72000  26.72000
23    26.98000  26.98000  26.98000    ...     26.98000  26.98000  26.98000
24    27.19500  27.19500  27.19500    ...     27.19500  27.19500  27.19500
25    27.34500  27.34500  27.34500    ...     27.34500  27.34500  27.34500
26    27.52000  27.52000  27.52000    ...     27.52000  27.52000  27.52000
27    27.86500  27.86500  27.86500    ...     27.86500  27.86500  27.86500
28    28.41500  28.41500  28.41500    ...     28.41500  28.41500  28.41500
29    29.06750  29.06750  29.06750    ...     29.06750  29.06750  29.06750
       ...       ...       ...    ...          ...       ...       ...
6931  28.61000  28.61000  28.61000    ...     28.61000  28.61000  28.61000
6932  28.97825  28.97825  28.97825    ...     28.97825  28.97825  28.97825
6933  29.06225  29.06225  29.06225    ...     29.06225  29.06225  29.06225
6934  28.49000  28.49000  28.49000    ...     28.49000  28.49000  28.49000
6935  27.56000  27.56000  27.56000    ...     27.56000  27.56000  27.56000
6936  26.64225  26.64225  26.64225    ...     26.64225  26.64225  26.64225
6937  26.15400  26.15400  26.15400    ...     26.15400  26.15400  26.15400
6938  26.16450  26.16450  26.16450    ...     26.16450  26.16450  26.16450
6939  25.95450  25.95450  25.95450    ...     25.95450  25.95450  25.95450
6940  25.62900  25.62900  25.62900    ...     25.62900  25.62900  25.62900
6941  25.32975  25.32975  25.32975    ...     25.32975  25.32975  25.32975
6942  24.85725  24.85725  24.85725    ...     24.85725  24.85725  24.85725
6943  24.06500  24.06500  24.06500    ...     24.06500  24.06500  24.06500
6944  23.15000  23.15000  23.15000    ...     23.15000  23.15000  23.15000
6945  19.43600  19.43600  19.43600    ...     19.43600  19.43600  19.43600
6946  14.06850  14.06850  14.06850    ...     14.06850  14.06850  14.06850
6947   9.15300   9.15300   9.15300    ...      9.15300   9.15300   9.15300
6948   4.57650   4.57650   4.57650    ...      4.57650   4.57650   4.57650
6949   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6950   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6951   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6952   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6953   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6954   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6955   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6956   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6957   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6958   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6959   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000
6960   0.00000   0.00000   0.00000    ...      0.00000   0.00000   0.00000

[6961 rows x 149 columns]

Я хочу создать частотное распределение/гистограмму всех данных (так 6961x149). Все попытки, которые я попытался использовать matplotlib и matplotlib dataframe.hist() различают каждый столбец в кадре данных, что не то, что я хочу. Могу ли я каким-то образом создать код, в котором функция plot не различает столбцы и строки и просто делает гистограмму всех значений в te dataframe?

Пример кода и цифр:

import matplotlib.pyplot as plt

plt.hist(mydata.values,bins=20)
plt.show()

mydata.plot.hist()

Результаты в:

Изображение 174551

Изображение 174551

Теги:
pandas
matplotlib

1 ответ

1
Лучший ответ

Решение состоит в том, чтобы использовать stack() чтобы поместить все ваши данные в один столбец, а затем сделать гистограмму:

df = pd.DataFrame([[1,2,3], [3,4,5], [2,3,4], [8,5,2], [3,2,1]])
df.stack().plot.hist()

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню