Seaborn 是一个基于 matplotlib 的数据可视化库,可以用来绘制各种统计图表,包括散点图、条形图、折线图、箱线图等。Seaborn 提供了一些用于美化图表的默认样式和颜色主题,使得生成的图表更具有吸引力。下面是一些 Seaborn 库的常用功能和用法。
import seaborn as sns#seaborn图形进行数据分析
df=sns.load_dataset('tips')
df.head()#显示前五行
'''结果:total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
'''df
'''结果:total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
... ... ... ... ... ... ... ...
239 29.03 5.92 Male No Sat Dinner 3
240 27.18 2.00 Female Yes Sat Dinner 2
241 22.67 2.00 Male Yes Sat Dinner 2
242 17.82 1.75 Male No Sat Dinner 2
243 18.78 3.00 Female No Thur Dinner 2244 rows × 7 columns
'''df.dtypes
'''结果:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
dtype: object'''
1、相关性
df.corr()#三个字段的相关性
'''结果:total_bill tip size
total_bill 1.000000 0.675734 0.598315
tip 0.675734 1.000000 0.489299
size 0.598315 0.489299 1.000000'''
sns.heatmap(df.corr())#用热区图来表示相关性
2、变量分析
sns.jointplot(x='tip',y='total_bill',data=df,kind='hex')#单变量分析,kind用什么表示,该图是蜂窝表示
sns.jointplot(x='tip',y='total_bill',data=df,kind='reg')#单变量分析,该图是用回归表示
sns.pairplot(df)#匹配图,在同一数据行中,一个变量与另一个变量的值相匹配,最后显示所有变量与所有其它变量的匹配
sns.pairplot(df,hue='sex')#多加一个变量
sns.pairplot(df,hue='smoker')#多加一个变量
三、统计数
df['smoker'].value_counts()
'''结果:
No 151
Yes 93
Name: smoker, dtype: int64
'''df['sex'].value_counts()
'''结果:
Male 157
Female 87
Name: sex, dtype: int64
'''
sns.countplot(x='sex',data=df)
sns.countplot(y='sex',data=df)
四、 特征值分布
sns.distplot(df['tip'])#帮助我们检查单特征分布,比例
sns.distplot(df['tip'],kde=False,bins=20)#帮助我们检查单特征分布,数量
五、多变量
sns.barplot(x='sex',y='total_bill',data=df)#两变量做x,y轴,柱状图
sns.boxplot(x='day',y='total_bill',data=df,palette='rainbow')#盒图,palette调色板
sns.boxplot(data=df,orient='v')#垂直
sns.boxplot(x='day',y='total_bill',hue='smoker',data=df)#盒图,三变量
sns.violinplot(x="total_bill",y="day",data=df,palette="rainbow")#小提琴图,帮助我们从核密度估计和箱型图两方面看到数据发布
sns.violinplot(y="total_bill",x="day",data=df,palette="rainbow")#小提琴图,帮助我们从核密度估计和箱型图两方面看到数据发布