pandas可视化

数据分析DAY06

pandas可视化

​ 底层也是matplotlib

基本绘图
Series数据可视化

Series提供了plot方法以index作为x,以value作为y,完成数据可视化:

ts = pd.Series(np.random.randn(1000),
               index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
DataFrame数据可视化

DataFrame提供了plot方法可以指定某一列作为x,某一列作为y,完成数据可视化:

df3 = pd.DataFrame(np.random.randn(1000, 2), 
                   columns=['B', 'C']).cumsum()
df3['A'] = np.arange(len(df3))
df3.plot(x='A', y='B')
高级绘图

plot()方法可以通过kind关键字参数提供不同的图像类型,包括:

类型说明
bar or barh柱状图
hist直方图
box箱线图
scatter Series不能使用散点图散点图
pie Dataframe需要给subplots=True,或指定某一列饼状图

相关API如下:

# 柱状图
series.plot.bar()
dataFrame.plot.bar()
dataFrame.plot.barh()

直方图

# 直方图
series.plot.hist(alpha=0.5, bins=5)
dataFrame.plot.hist(alpha=0.5, bins=5)

散点图

# 散点图
df.plot.scatter(x='a', y='b', c=col, colormap='');

饼状图

# 饼状图
series.plot.pie(figsize=(6, 6))
dataFrame.plot.pie(subplots=True, figsize=(6, 6), layout=(2, 2))

箱线图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yB6yBnkt-1617628857330)(C:/Users/xuming/Desktop/20.04%E7%A0%94%E5%8F%91/%E6%96%B0%E7%89%88%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E8%AF%BE%E4%BB%B6/images/%E7%AE%B1%E7%BA%BF%E5%9B%BE.png)]

# 箱线图
# 先找出一组数据的上边缘、下边缘、中位数和两个四分位数;然后, 连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间
df.plot.box()
# 分组箱线图
df.boxplot(by='X')


Q3+1.5QIR  #这组数据的正常数据的上限值
Q1-1.5QIR  #这组数据的正常数据的下限值

#在正常取值范围内的数据,则为异常值,使用小圆点表示

箱线图的指标:
	盒子顶部:Q3
    盒子底部:Q1
    盒子中的绿线:Q2
    盒子的长度(即Q3-Q1的距离=QIR):表示50%的中心样本数据的分布

箱线图反应一组数据的集中趋势,四分位数的差可以反映一组数据的离散情况:

  1. 中位数高,表示平均水平较高;反之则表示平均水平较低。
  2. 箱子短,表示数据集中;箱子长,表示数据分散。

项目:分析影响学生成绩的因素

xxxxxxxx

项目:泰坦尼克号生存人员数据分析与可视化



项目:movielens电影数据分析与可视化

...
...
...

项目:二手房源信息数据分析与可视化

...
...
...

项目:电信流失用户数据分析与可视化

...
...
...

数据清洗:

​ 1.检测与处理重复值

​ drop_duplicates去重方法

​ 只对Series和DataFrame有效

​ 该方法不会改变数据的原始排列

​ 1.1 用法 :

​ DataFrame(Series).drop_duplicates(self,subset=None,keep=‘first’,inplace=False)

​ subset:是表示要去重的列,subset=None,默认表示全部列,只有全部列相同才认为是相同

​ keep:表示数据重复的时,保留的数据

​ first:保留第一个(默认保留第一个)

​ last:保留最后一个

​ False:一个不留

​ inplace:是否修改原数据,默认是False

​ 2.检测与处理缺失值

​ 识别缺失值:isnull (返回值为True,False)

​ 识别非缺失值:notnull (返回值为True,False)

​ 结合sum()函数,可以检测一共有多少缺失值,True=1,False=0

​ 2.1删除法

​ DataFrame.dropna(self,axis=0,how=‘any’,subset=None,inplace=False)

​ axis:轴向 0为删除行,1为删除列,默认为0

			subset:要判断的行/列,如果为None,表示所有行/所有列

​ how:表示的删除形式,any:只要此行/列中,有缺失值,直接删除 all:当全部行/列都为缺失值时,执行删除操作

​ 2.2替换法

​ 2.3差值法

​ 3.检车预处理异常值

se)

​ axis:轴向 0为删除行,1为删除列,默认为0

			subset:要判断的行/列,如果为None,表示所有行/所有列

​ how:表示的删除形式,any:只要此行/列中,有缺失值,直接删除 all:当全部行/列都为缺失值时,执行删除操作

​ 2.2替换法

​ 2.3差值法

​ 3.检车预处理异常值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值