Python 如何从数据帧中的所有值生成直方图?

Python 如何从数据帧中的所有值生成直方图?,python,pandas,dataframe,histogram,Python,Pandas,Dataframe,Histogram,假设数据帧如下所示: a b c d e f g b 0 0 1 2 0 5 c 1 3 2 0 2 5 d 12 0 0 1 3 9 e 3 4 7 8 9 0 f 0 0 0 0 1 1 g 3 4 4 5 1 0 我想生成每个值(每个单元格上)出现在数据帧上的频率直方图 注意,在我的实际数据帧上,我有一个260行乘260列的矩阵,其值范围为0到30,包括浮点。 任何帮助都将不胜感激:)这将从所有值中生成直方

假设数据帧如下所示:

a  b  c  d  e  f  g
b  0  0  1  2  0  5
c  1  3  2  0  2  5
d  12 0  0  1  3  9
e  3  4  7  8  9  0
f  0  0  0  0  1  1
g  3  4  4  5  1  0
我想生成每个值(每个单元格上)出现在数据帧上的频率直方图

注意,在我的实际数据帧上,我有一个260行乘260列的矩阵,其值范围为0到30,包括浮点。


任何帮助都将不胜感激:)

这将从所有值中生成直方图:

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame([
    [0,  0, 1, 2, 0, 5],
    [1,  3, 2, 0, 2, 5],
    [12, 0, 0, 1, 3, 9],
    [3,  4, 7, 8, 9, 0],
    [0,  0, 0, 0, 1, 1],
    [3,  4, 4, 5, 1, 0],
])

plt.hist(df.to_numpy().flatten())
plt.show()

或者,您可以使用:

df.stack().hist(grid=False)
plt.show()

以获得完全相同的结果。

这将根据所有值生成直方图:

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame([
    [0,  0, 1, 2, 0, 5],
    [1,  3, 2, 0, 2, 5],
    [12, 0, 0, 1, 3, 9],
    [3,  4, 7, 8, 9, 0],
    [0,  0, 0, 0, 1, 1],
    [3,  4, 4, 5, 1, 0],
])

plt.hist(df.to_numpy().flatten())
plt.show()

或者,您可以使用:

df.stack().hist(grid=False)
plt.show()

得到完全相同的结果。

df.stack().hist()
你试过什么,做过什么研究吗?这不是重复的吗?这回答了你的问题吗@AMC完全不同的问题。
df.stack().hist()
@AMC完全不同的问题。