作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不理解 Pandas 散点矩阵中的直方图。
我绘制了 iris 数据集的散点矩阵。
from sklearn import datasets
import pandas as pd
import matplotlib.pyplot as plt
iris = datasets.load_iris()
X = iris.data
y = iris.target
df = pd.DataFrame(X, columns=iris.feature_names)
_ = pd.plotting.scatter_matrix(df, c=y, figsize=[8, 8], s=150, marker='D')
看起来像这样。
第一个直方图看起来频率不正确,所以我自己对列进行了分箱。
df['sep_len_bin'] = pd.cut(df['sepal length (cm)'], 10)
print(df.sep_len_bin.value_counts().sort_index())
我得到了这些结果。这些频率似乎与散点矩阵中的第一个直方图不匹配。
(4.296, 4.66] 9
(4.66, 5.02] 23
(5.02, 5.38] 14
(5.38, 5.74] 27
(5.74, 6.1] 22
(6.1, 6.46] 20
(6.46, 6.82] 18
(6.82, 7.18] 6
(7.18, 7.54] 5
(7.54, 7.9] 6
Name: sep_len_bin, dtype: int64
然后我自己绘制了一个直方图。
plt.hist(df['sepal length (cm)'], bins=10)
该图与我制作的箱子相匹配。分布与散点矩阵中的第一个直方图具有相同的形状,但为什么散点矩阵直方图具有不同的频率?
最佳答案
所有散点图都将根据所比较的两个变量的范围具有单位和刻度线,而对角线子图是分析一个变量的直方图。请注意,y 轴的所有单位都是 cm
匹配数据,但直方图不会以 cm
为单位而是频率。
因此没有显示直方图的频率,因为我猜不清楚这些刻度线应该出现在哪里,但我同意这可能会造成混淆。
顺便说一句,如果您改为绘制 kde,则不会显示刻度线,但整体形状与直方图一样正确。
_ = pd.plotting.scatter_matrix(df, c=y, figsize=[8, 8], s=150, marker='D', diagonal='kde')
关于python - Pandas 散点矩阵 - 直方图是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65452754/
我是一名优秀的程序员,十分优秀!