探索性数据分析 EDA 之最常用的10个可视化图表案例
创作时间:
作者:
@小白创作中心
探索性数据分析 EDA 之最常用的10个可视化图表案例
引用
CSDN
1.
https://blog.csdn.net/fengshi_fengshi/article/details/142797439
探索性数据分析(EDA)是数据分析过程中非常重要的一个环节,通过可视化和统计方法帮助我们理解数据的内在结构、检查数据质量、选择数据特征,并为后续的统计检验或建模提供基础。本文将基于一个消费数据集,介绍在EDA中常用的10个可视化图表及其应用场景。
数据集简介
本文使用的数据集为tips消费数据集,包含以下属性:
- 总金额(total_bill)
- 消费金额(tip)
- 是否吸烟(smoker)
- 时间段(time)
- 就餐人数(size)
1. 条形图
条形图用于显示分类变量的分布,通过可视化数据集中每个类别的频率或计数,可以快速看出各类别的大小。
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv('tips.csv')
order = ['Thur', 'Fri', 'Sat', 'Sun']
ax = sns.countplot(x='day', hue='day', data=data, order=order)
for bar in ax.patches:
height = bar.get_height()
ax.text(bar.get_x() + bar.get_width() / 2, height,
f'{height}', ha='center', va='bottom')
plt.title('Count of Tips by Day')
plt.show()
2. 折线图
折线图主要用于展示数据随时间或其他变量变化的趋势,通过分析现有数据的趋势,可以进行未来值的预测,帮助决策制定。
import seaborn as sns
import matplotlib.pyplot as plt
data = sns.load_dataset('tips')
data.sort_values(by='total_bill', inplace=True)
plt.plot(data['total_bill'].values, data['tip'].values)
plt.title('Line Plot of Tip Over Total Bill')
plt.show()
3. 散点图
散点图用于展示两个变量之间的关系,可以通过观察点的分布,直观地显示两个变量之间的关系,比如正相关、负相关或无相关性。
import seaborn as sns
import matplotlib.pyplot as plt
data = sns.load_dataset('tips')
sns.scatterplot(x='total_bill', y='tip', data=data)
plt.title('Scatter Plot of Total Bill vs. Tip')
plt.show()
4. 箱线图
箱线图用于展示数据分布特征的统计图表,显示数据中的平均值、中位数、分位数和离群值。比较多个变量的分布。可以识别扩散的数值变量,检测数据集中潜在的异常值。
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv('tips.csv')
order = ['Thur', 'Fri', 'Sat', 'Sun']
sns.boxplot(x='day', y='total_bill', hue='day', data=data, order=order)
plt.title('Box Plot of Total Bill by Day')
plt.show()
5. 密度图
密度图用于显示数据分布的可视化工具,能够清晰地展示数据的概率密度,帮助分析者直观理解数据的分布情况。
import seaborn as sns
import matplotlib.pyplot as plt
data = sns.load_dataset('tips')
sns.kdeplot(data['total_bill'], shade=True)
plt.title('Density Plot of Total Bill')
plt.show()
6. 饼图
饼图用于展示各部分与整体之间的比例关系。
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen']
explode = (0.1, 0, 0, 0)
plt.figure(figsize=(8, 6))
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
autopct='%1.1f%%', shadow=True, startangle=140)
plt.axis('equal')
plt.title('饼图示例')
plt.show()
7. 热图
热图主要用于展示数据矩阵的值,通过颜色的深浅来表示数值的大小。
import seaborn as sns
import matplotlib.pyplot as plt
data = sns.load_dataset('tips')
data = data[['total_bill', 'tip', 'size']]
correlation_matrix = data.corr()
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Correlation Heatmap')
plt.show()
8. 小提琴图
小提琴图用于展示数据的分布情况,可以可视化一个数值变量在不同类别中的分布,非常适合比较多个组的数据分布。
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
sns.violinplot(x='day', hue='day', y='total_bill', data=tips)
plt.title('Violin Plot of Total Bill by Day')
plt.show()
9. 子图
为了进行对比,可以在同一图中并排比较多个子图。
import seaborn as sns
import matplotlib.pyplot as plt
data = sns.load_dataset('tips')
plt.figure(figsize=(12, 8))
plt.subplot(2, 2, 1)
sns.scatterplot(x='total_bill', y='tip', data=data)
plt.title('Scatter Plot of Total Bill vs Tip')
plt.subplot(2, 2, 2)
sns.boxplot(x='day', y='total_bill', hue='day', data=data)
plt.title('Box Plot of Total Bill by Day')
plt.subplot(2, 2, 3)
sns.barplot(x='day', y='total_bill', hue='day', data=data)
plt.title('Bar Plot of Total Bill by Day')
plt.subplot(2, 2, 4)
sns.violinplot(x='day', hue='day', y='total_bill', data=tips)
plt.title('Violin Plot of Total Bill by Day')
plt.tight_layout()
plt.show()
10. 关系图
pairplot 是 Seaborn 库中的一个非常有用的函数,用于可视化数据集中所有数值特征之间的关系。
import seaborn as sns
import matplotlib.pyplot as plt
data = sns.load_dataset('tips')
sns.pairplot(data, hue='day')
plt.suptitle('Pairplot of Numerical Variables by Day', y=1.02)
plt.show()
通过这些可视化图表,我们可以更好地理解数据的分布、汇总统计、变量和异常值之间的关系,从而得出有价值的洞见,辅助策略决策。
热门推荐
郑远元修脚店加盟乱象揭秘:低门槛背后的高风险
郑远元修脚店维权风波再起:服务与监管亟待加强
闽南语拼音:从古至今的秘密
北海公交推出“敬老专线+社区专线”,破解老年出行难题
柑橘高产栽培技术,掌握以下管理方法,喜获柑橘大丰收和增加收益
“洋水果”变“土特产”还卖爆了 广州为何能不断产出优质水果
庐山与鄱阳湖:九江的自然奇观与文化瑰宝
迪士尼草莓熊新作上映,重温经典回忆
草莓熊爆红背后:从IP联名到社交媒体现象
《甄嬛传》朝冠设计:从冬夏款式看清朝宫廷等级制度
6步教你做出正宗客家生焖鸭,附实用小贴士
微辣干香姜爆鸭:专业厨师详解选材与烹饪要点
陈冠希给周杰伦转300元引热议,微信转账实用指南来了
个人账户发工资被罚765万,微信转账合规使用要点
白血病患者饮食指南:五大营养素助力治疗,三类食物需忌口
急性白血病十大预警信号:发热、出血、淋巴结肿大等需警惕
白血病诊断后的心理调适:从自我关怀到专业支持
清原龙胆草:地理标志助力山区县特色产业高质量发展
腊八节倒计时:腊八粥背后的故事你知道多少?
腊八节来了,腊八粥怎么少得了?
九江一日游打卡圣地:庐山、浔阳楼、鄱阳湖
解密《甄嬛传》人物:谁是后宫最纯净的“白莲花”?
《甄嬛传》将推团综,孙俪坚持“不消费角色”原则缺席
掌握写作“弯钩”技巧,吸引读者的注意力与情感共鸣
快递车使用与维护全指南:从传统车型到无人配送
告别快递焦虑:五种方式快速查询包裹信息
快递查询全攻略:五种方式随时掌握包裹动态
电饭煲的内胆是铝的好吗?四大致癌缺点千万别中招!
泉州话与泉港话:从发音到词汇的三大差异
香水选购全攻略:四大维度帮你找到专属香气