探索性数据分析 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()
通过这些可视化图表,我们可以更好地理解数据的分布、汇总统计、变量和异常值之间的关系,从而得出有价值的洞见,辅助策略决策。
热门推荐
都在吃中药,为啥有的患者服用效果好,有的人吃一大堆也没用?
无花果的营养价值和健康益处
吕雉的死因是什么?她去世后,史书如何记载她的身份与地位?
常见的十四种市政管道材料
已确认收货但卖家未发货?律师教你如何维权
医疗储蓄保险:医保存钱能否两全?与消费型医保相比哪个更好?
如何优化API请求以提高效率:代码示例与最佳实践
安眠药的副作用和使用禁忌
车里面的Sync技术详解:让汽车更智能、更便捷
提升安宁疗护服务能力 优质医疗服务社区
中午吃少VS晚上吃少,减肥效果大不同?
葡萄牙教育是否免费?一文详解葡萄牙教育实情!
网络诈骗的隐秘陷阱:揭开“仙人跳”的真相与防范策略
各种橡胶密封件的材料性能对比
鱼油DHA和藻油DHA 的区别是什么?
玉竹种植技术与栽培管理
如何进行社会资源优化配置?社会资源优化配置对经济发展有何重要性?
无人机培训:无人机维护保养技术详解
劳动教育的多重意义:提升素质、责任感与社会价值观的培养
一个甲子是多少年
惊艳春日!学习七绝诗歌创作技巧,4首作品让你感受动人情怀
如何选择丧葬和安葬的日子:传统方法与现代实践
深入了解传感器的医学用途
什么是车轴:定义、分类、功能及在电动车中的应用
汽车半轴:定义、功能与类型解析
避免问题灾难化想象,是帮助我们停止焦虑的有效方法
文徵明《玉兰花》:明代文人笔下的花中仙子
2024年以后非全日制研究生企业认可吗?
无人机"黑飞"会带来哪些安全问题?一文了解→
聚丙烯(PP)材料在医疗行业的广泛应用及其优势