数据可视化

matplotlib可视化图形类型及运用(基于dataframe和series)

1.柱状图

单比例

df.pyplot.bar(xheightwidth=0.8bottom=None*align='center'data=None**kwarg)

sex_sur

Sex
female    233
male      109
Name: Survived, dtype: int64  (series)

sex_sur.plot.bar()
(可视化)

多比例

s_d_sex = data.groupby(['Sex','Survived'])['Survived'].count().unstack()
#构建dataframe

Survived	0	1
Sex		
female	81	233
male	468	109


s_d_sex.plot.bar(stacked=True)
#可视化

stacked代表按比例,将两个列索引代表的值,显示在一个柱子上

这里解释下:

对于groupy分组操作进行完成后,得到的是一个类dataframe的groupy类型数据,进行count操作后,数据变为series类型,unstack操作过后,数据变为dataframe类型!

 2.折线图

dataframe.plot.line( )

df = data.groupby(['Fare'])['Survived'].value_counts().sort_values(ascending=False)

#构建数据

Fare     Survived
8.0500   0           38
7.8958   0           37
13.0000  0           26
7.7500   0           22
13.0000  1           16
                     ..
7.7417   0            1
26.2833  1            1
7.7375   1            1
26.3875  1            1
22.5250  0            1
Name: count, Length: 330, dtype: int64

这里有几个函数需要解释下:

value_counts() 这个函数是对于groupby操作完后的数据,进行对于Survivied(0或1)进行统计(也就是统计对于每一个Fare,0和一各有多少个)。这类似于把Fare和Survived都作为分类标准进行分类!

sort_values()这个函数是以0和1后面的值,把整个表进行排序进行排序(这个函数是默认升序排序的,那ascending自然就是降序排序啦!)

3.seaborn画核密度曲线图

import seaborn as sns # 导入seaborn库

face = sns.FacetGrid(data,hue='Survived',aspect=3) # 创建一个分面网格图,并添加一个核密
# 度估计图,数据集为data,以'Survived'列的值进行分类,分面长宽比例为3

face.map(sns.kdeplot,'Age',shade=True) # 添加一个核密度估计图,展示'Age'列的数据分布
# shade 核密度图旁边添加颜色条,展示每个分面各个值的相对密度

face.set(xlim=(0,data['Age'].max())) # 设置网格图x轴的范围
face.add_legend() #标识每个和密度估计图的颜色代表的含义

 4.matplotlib画核密度曲线图

data.Age[data.Pclass==1].plot.kde() # 选择年龄(条件是对应的Pclass为1)数据绘制该数据的和密度估计图

data.Age[data.Pclass==2].plot.kde()

data.Age[data.Pclass==3].plot.kde()

plt.xlabel('age') # 设置x轴标签轴为年龄

plt.legend((1,2,3),loc="best") # 添加图例,数字123分别代表Pclass123,loc参数设置为best表示
# 图例将自动设置为最佳位置

核密度曲线,是针对一个数据集进行画图,统计它每个阶段所占全部阶段的比例,然后按密度的计算方式,密度大的地方曲线陡,密度小的地方曲线较平缓。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值