seaborn库图形进行数据分析(基于tips数据集)

发布时间:2023年12月17日

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 	 2

244 rows × 7 columns
'''

df.dtypes
'''结果:
total_bill     float64
tip            float64
sex           category
smoker        category
day           category
time          category
size             int64
dtype: object'''

?一、相关性

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())#用热区图来表示相关性

?

二、变量分析

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")#小提琴图,帮助我们从核密度估计和箱型图两方面看到数据发布

文章来源:https://blog.csdn.net/qq_74156152/article/details/135039022
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。