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


浙公网安备 33010602011771号