在对数据进行可视化时,用hist来查看单一特征是很重要的,结合着看多种图表,有助于获得对数据的进一步理解。

本篇是对 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Data .hist.html 的翻译 + 个人笔记。

先从它的定义看起,这个API太常用,所以有必要深入了解一下它的具体构成。

Data .hist(column=None, by=None, grid=True, xlabelsize=None, xrot=None, ylabelsize=None, yrot=None, ax=None, sharex=False, sharey=False, figsize=None, layout=None, bins=10, **kwds)

目的是对Data 构建一个直方图显示。

举个例子:

# 导入数据
filename = \'https://archive.ics.uci.edu/ml/machine-learning-data s/housing/housing.data\'
names = [\'CRIM\', \'ZN\', \'INDUS\', \'CHAS\', \'NOX\', \'RM\', \'AGE\', \'DIS\', \'RAD\', \'TAX\', \'PRTATTO\', \'B\', \'LSTAT\', \'MEDV\' ]
data = read_csv(filename, names=names, delim_whitespace=True) 
data.shape # (506, 14)
# 指定文件的分隔符为空格键
data.hist(sharex=False, sharey=False, xlabelsize=1, ylabelsize=1)
plt.show()

显示效果如下:

\"在这里插入图片描述\"

但是上面这些参数具体如何设置,就需要看看API,下面一一解读。

直方图是对数据分布的表征。这个函数会调用matplotlib.pyplot.hist(),会在Data 上的每个列上进行画图,也就是前面说的,这是对单个特征的显示,数据的每列是一个特征,所以画出来的效果是多个图。

bins参数进行修改,可以得到更精细的分布图示:

# 单一特征图表
data.hist(sharex=False, sharey=False, xlabelsize=1, ylabelsize=1, layout=(3,5), bins=100)
plt.show()

\"在这里插入图片描述\"

参数解读

参数名 类型 描述
data Data pandas数据对象,存储数据
column string或者sequence 如果传递了这个参数,则画图时只用到数据的一个子集,具体是谁,由本参数值指定
by 这就是Group By里的by,会按照分组来绘制直方图
grid boolean 是否显示坐标线
xlabelsize int 如果指定了这个值,则可以改变x-axis的标记尺寸
xrot float 旋转x轴的度数
ylabelsize int 如果指定了这个值,则可以改变y-axis的标记尺寸
yrot float 旋转y轴的度数
ax Matplot axes 指定要绘制直方图的坐标系
sharex boolean 如果axNone则默认为True否则默认为False。在subplots=True时,会共享x轴并将某个x轴设置为不可见;如果ax传递进来了,且sharex=True,会改变所有子图的x轴的标记。
sharey booelan 同理可推导出sharey的功效。
figsize tuple 单位是英寸,表示要创建的图的大小。默认使用在matplotlib.rcParams中定义的数值。
layout tuple (rows, columns),表示绘图有多少行多少列。
bins int或者sequence 默认为10,就是指定显示多少竖条
**kwds 其他的关键词参数可以在这里传递
axes(返回值) 返回一个matplotlib.AxesSubplot或者numpy.ndarray对象

案例

>>> df = pd.Data ({
...     \'length\': [1.5, 0.5, 1.2, 0.9, 3],
...     \'width\': [0.7, 0.2, 0.15, 0.2, 1.1]
...     }, index= [\'pig\', \'rabbit\', \'duck\', \'chicken\', \'horse\'])
>>> hist = df.hist(bins=3)

\"在这里插入图片描述\"

END.

参考: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Data .hist.html

收藏 打印