您当前的位置: 首页 >  Python
  • 7浏览

    0关注

    28博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【第七周:Python(四)】7周成为数据分析师

我愚蠢的理想主义_Cheergo 发布时间:2022-09-26 11:19:08 ,浏览量:7

本课程共七个章节,课程地址:7周成为数据分析师(完结)_哔哩哔哩_bilibili

  1. 数据分析思维
  2. 业务知识
  3. Excel
  4. 数据可视化
  5. SQL
  6. 统计学
  7. Python
第七周:Python(P86-P143) 
  1. Python的数据科学环境(P86)
  2. Python基础(P87-P97)
  3. 数据分析常用包:Numpy和Pandas(P98-P112)
  4. Python连接数据库(P113-P114)
  5. 数据分析案例(P115-P124)
  6. 数据可视化:Matplotlib和Seaborn(P125-P138)
  7. 数据分析平台(P139-P143)

目录

第七周:Python(P86-P143) 

六、数据可视化:Matplotlib和Seaborn

(一)Pandas自带的可视化

  • 折线图 plot
  • 柱形图/条形图 bar
  • 直方图 hist
  • 箱线图 box
  • 密度图 kde
  • 面积图 area
  • 散点图 scatter
  • 散点图矩阵 scatter_matrix
  • 饼图 pie

(二)Matplotlib

  • 饼图 plt.pie()
  • 折线图 plt.plot()
  • 图表元素
  • 同时画多条折线图
  • 添加图例
  • 绘制子图subplot

(三)Seaborn(高级图像)

分布

  • distplot 概率分布图
  • kdeplot 概率密度图
  • jointplot 联合密度图(两个变量)
  • pairplot 多变量图(多个变量)

分类

  • boxplot 箱线图
  • violinplot 提琴图
  • barplot 柱形图
  • factorplot 因子图

线性

  • lmplot 回归图
  • heatmap 热力图 
六、数据可视化:Matplotlib和Seaborn (一)Pandas自带的可视化
import pandas as pd
df = pd.read_csv('position_gbk.csv', encoding='gbk')
%matplotlib inline

  • 折线图 plot
  • 柱形图/条形图 bar
  • 直方图 hist
  • 箱线图 box
  • 密度图 kde
  • 面积图 area
  • 散点图 scatter
  • 散点图矩阵 scatter_matrix
  • 饼图 pie

1. 折线图 plot

df.avg.plot()

# 统计不同薪资的出现次数
df.avg.value_counts().sort_index().plot()   

 

为什么要加 .sort_index()?    —— 使索引(即第一列)从低到高排序

  

2. 柱形图/条形图 bar

# 法1
df.avg.value_counts().sort_index().plot(kind='bar')

# 法2
df.avg.value_counts().sort_index().plot.bar()

  • 堆积柱形图 
df.pivot_table(index='city', columns='education', values='avg', aggfunc='count').plot.bar(stacked=True)

  • 百分比堆积柱形图

需要数据处理时用apply函数变化一下,没有直接的参数可以使用

  • 变为横向(条形图)
df.pivot_table(index='city', columns='education', values='avg', aggfunc='count').plot.barh(stacked=True)   # h为水平轴的意思

3. 直方图 hist 

# 带网格
df.avg.hist()

# 不带网格
df.avg.plot.hist()   # 参数 bins:切多少个箱体

  • 多重直方图:在一张图里展示多个直方图,要使用多列(education 和 avg) 
df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.hist(alpha = 0.8)   # 透明度

  • 堆叠多重直方图:
df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.hist(alpha = 0.5, stacked=True, bins=30)

  •  变为水平条形图:
df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.hist(alpha = 0.5, stacked=True, bins=30, orientation = 'horizontal')

4. 箱线图 box 

# 箱体:列
df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.box()

# 法2
df.boxplot(column = 'avg', by = 'education')

5. 密度图 kde  

df.avg.plot.kde()   # 薪资落在某个区间范围的概率(面积)

5. 面积图 area   

df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.area()

df.pivot_table(index='avg', columns='education', aggfunc='count', values='positionId').plot.area()

 

  • 百分比面积图 
# 加一个apply()函数计算百分比
df.pivot_table(index='avg', columns='education', aggfunc='count', values='positionId').apply().plot.area()

6. 散点图 scatter 

df.groupby('companyId').aggregate(['mean','count','max']).avg.plot.scatter(x='mean',y='count')

7. 散点图矩阵 scatter_matrix  

pd.plotting.scatter_matrix(matrix)
  • 可以通过query条件过滤数据
pd.plotting.scatter_matrix(matrix.query('count            
关注
打赏
1662226828
查看更多评论
0.0413s