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完全不同的问题。