1.python可视化之seaborn
seaborn是建立matplotlib基础上,便于处理pandas数据结构的可视化库。
import pandas as pd pd.plotting.register_matplotlib_converters() import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns
在数据分析中,其常用的功能有:
1.对数据进行直观展示:线图、点图
2.对数据分布进行展示:条形图、热力图、直方图、核密度图、
下面分类型介绍
1.线图:常用于展示某个变量随时间变化的趋势
plt.figure(figsize=(14,6)) plt.title("Daily Global Streams of Popular Songs in 2017-2018") sns.lineplot(data=spotify_data) plt.xlabel("Date")
#sns.lineplot(data=spotify_data['Despacito'],label='Despacito')
2.散点图:使用点云描述两个变量的联合分布,其中每个点代表数据集中的一个观测值。可以大致推断两个变量之间是否存在相关关系。
sns.scatterplot(x=insurance_data['bmi'],y=insurance_data['charges'])
图中可以看出,BMI指数和保费之间存在一定的正向关系。
此外,散点图还可以建立多变量关系
sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'],hue=insurance_data['smoker'])
在相同BMI指数的情况下,吸烟者的保费更高。
还可进一步叠加线性回归
sns.lmplot(x="bmi", y="charges", hue="smoker", data=insurance_data)
3.条形图:用于展示分类型变量的频数分布,纵轴表示频数。
plt.figure(figsize=(10,6)) plt.title("Average Arrival Delay for Spirit Airlines Flights, by Month") sns.barplot(x=flight_data.index, y=flight_data['NK']) plt.ylabel("Arrival delay (in minutes)")
sns.distplot(a=iris_data['petal length (cm)'], kde=False)
sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'],hue=insurance_data['smoker'])
4.热力图:若希望在一张图中展示多个分类型变量的频数分布,还可以使用热力图
plt.figure(figsize=(14,7)) plt.title("Average Arrival Delay for Each Airline, by Month") sns.heatmap(data=flight_data, annot=True) plt.xlabel("Airline")
5.直方图:用于展示数值型变量的频数分布,面积表示频数
6.核密度图: 用于表述数值型变量频数的还有核密度图
sns.kdeplot(data=iris_data['Petal Length (cm)'], shade=True)
二维核密度图
sns.jointplot(x=iris_data['petal length (cm)'], y=iris_data['sepal width (cm)'], kind="kde")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!