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")

 

posted @   May酱的blog  阅读(522)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示