pandas
直方图
看过来
《Pandas 教程》 持续更新中,可作为 pandas 入门进阶课程、pandas 中文手册、用法大全,配有案例讲解和速查手册。提供建议、纠错、催更等加作者微信: sin80c(备注:pandas教程)和关注公众号「盖若」ID: gairuo。查看更新日志。另外,pandas 教学视频在 B 站持续更新中,账号:「盖若com」。
![]() |
本教程作者所著新书《深入浅出Pandas:利用Python进行数据处理与分析》(ISBN:9787111685456)已由机械工业出版社出版上市,各大电商平台有售,欢迎:查看详情并关注购买。 |
直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。
直方图描述的是数据在不同区间内的分布情况,描述的数据量一般比较大,图示如下:
分组数据字段(统计结果)映射到横轴的位置,频数字段(统计结果)映射到矩形的高度,分类数据可以设置颜色增强分类的区分度。
我们随机生成三列数,每列 1000 个,其中一个在随机数上加一,一个减一:
df = pd.DataFrame({'a': np.random.randn(1000) + 1,
'b': np.random.randn(1000),
'c': np.random.randn(1000) - 1},
columns=['a', 'b', 'c'])
绘制直方图,默认分箱数为 10 个 (bins=10),alpha
为颜色的透明度,取 0 - 1 范围:
df.plot.hist(alpha=0.5)
Series 为单直方图:
df.a.plot.hist()
可以堆叠,并指定分箱数量:
df.plot.hist(stacked=True, bins=20)
也可以直接使用 df.hist(alpha=0.5)
来绘制三个子图:
也可以单独绘制子图,指定分箱数量:
df.a.hist(bins=20, alpha=0.5)
df.hist('a', bins=20, alpha=0.5) # 同上
by 参数可以做分组,生成分组后的子图:
df.Q1.hist(by=df.team)
您可以传递 matplotlib hist 支持的其他关键字。 例如,水平和累积直方图可以通过“方向为水平”和“累积为真”来绘制。参考 matplotlib hist 官方文档。
df['a'].plot.hist(orientation='horizontal', cumulative=True)
当我们绘制骰子6000次时,我们期望每个值大约获得1000次。 但是,当我们绘制两个骰子并将结果相加时,分布将完全不同。 直方图说明了这些分布:
df = pd.DataFrame(np.random.randint(1, 7, 6000),
columns = ['one'])
df['two'] = df['one'] + np.random.randint(1, 7, 6000)
df.plot.hist(bins=12, alpha=0.5)
无「盖若」授权,请勿以任何形式转载,公众号:gairuo
Copyright © 2019 - 2022
Gairuo.com All Rights Reserved v7.2.0.0403
京公网安备11010502033395号
京ICP备15019454号-4