「目录」
绘图和可视化
Plotting and Visualization
9.1 => matplotlib
9.2 => pandas和seaborn绘图
-------> 线型图
-------> 柱状图
-------> 直方图和密度图
-------> 散布图或点图
-------> 分面网格(facet grid)和类型数据
直方图
直方图是一种可以对值频率进行离散化显示的柱状图。
数据被拆分到离散的、间隔均匀的桶(bin)中。
还是以原书里的tips.csv为例吧:
tips = pd.read_csv(r'C:\Users\geqiy\Desktop\tips.csv')
tips.head()复制

假设我们想看一下消费额total_bill的分布,通过.plot.hist()方法可以生成一张消费总额的直方图,bins=50意味着消费额会被均等划分为50个区间:
plt.figure()
tips['total_bill'].plot.hist(bins=50)复制

密度图
密度图是通过计算可能会产生观测数据的连续概率分布的估计而产生的。
使用.plot.density()可以生成一张密度图:
plt.figure()
tips['total_bill'].plot.density()复制

seaborn绘制直方图和密度图
seaborn的distplot方法绘制直方图和密度图更加简单,还可以同时画出直方图和连续密度估计图:
sns.distplot(tips['total_bill', bins = 100, color = 'b')
复制

再来看一个双峰分布,这是由均值为0,标准差为1的200个样本点和均值为10,标准差为2的200个样本点组成的:
plt.figure()
comp1 = np.random.normal(0, 1, size=200)
comp2 = np.random.normal(10, 2, size=200)
values = pd.Series(np.concatenate([comp1, comp2]))
sns.distplot(values, bins=100, color='r')复制

带标签的Beta分布
plt.figure()
dist1 = np.random.beta(0.2, 0.2, size=1000)
dist2 = np.random.beta(1.0, 1.0, size=1000)
sns.distplot(dist1, bins=20, color='b', label="alpha=0.2")
sns.distplot(dist2, bins=20, color='y', label="alpha=1.0")
plt.legend()复制

若传入参数vertical=True,则被观测值就出现在了Y轴:
plt.figure()
dist1 = np.random.beta(0.4, 0.4, size=1000)
sns.distplot(dist1, bins=20, color='g', vertical=True, label="alpha=0.4")
plt.legend()复制

这个函数还有好多可选参数,感兴趣的查一下官方文档吧
就这样吧,BYE-BYE!!
往期回顾



Stay hungry, stay foolish
文章转载自Yuan的学习笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
MySQL8.0直方图功能简介
Rock Yan
224次阅读
2025-03-21 15:30:53
演讲实录|分布式 Python 计算服务 MaxFrame 介绍及场景应用方案
阿里云大数据AI技术
112次阅读
2025-03-17 13:27:37
mysql提升10倍count(*)的神器
大大刺猬
86次阅读
2025-03-21 16:54:21
[MYSQL] query_id和STATEMENT_ID在不同OS上的关系
大大刺猬
52次阅读
2025-03-26 19:08:13
DataWorks :Data+AI 一体化开发实战图谱
阿里云大数据AI技术
40次阅读
2025-03-19 11:00:55
国密算法介绍
漫步者
36次阅读
2025-03-21 09:20:39
自动化办公:利用Python和DeepSeek API高效制作Word文档(附源码)
数据库平台优化
36次阅读
2025-03-06 09:27:00
迎接deepseek,助力企业AI整合
威哥
34次阅读
2025-03-09 20:54:43
AI 提示词魔法:教你用 AI 提升效率与创意
数智新知
33次阅读
2025-03-10 10:30:27
如何使用 RisingWave 和 PuppyGraph 构建高性能实时图分析框架
RisingWave中文开源社区
29次阅读
2025-03-18 10:49:54