1. 程式人生 > >pandas視覺化:各種圖的簡單使用

pandas視覺化:各種圖的簡單使用

一、Matplotlib中幾種圖的名字

  1. 折線圖:plot
  2. 柱形圖:bar
  3. 直方圖:hist
  4. 箱線圖:box
  5. 密度圖:kde
  6. 面積圖:area
  7. 散點圖:scatter
  8. 散點圖矩陣:scatter_matrix
  9. 餅圖:pie

 

二、折線圖:plot

  平均值需要先排序後出出圖

  df.avg.value_counts().sort_index().plot()

 

三、柱形圖:bar

  可先做資料透視,然後生成柱形圖

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

 

  如果是要做堆疊柱形圖,則可設定bar()的引數

  df.pivot_table(index='city',columns='education',values='avg',aggfunc='count').plot.bar(stacked=True) 

  

  如果是要做成條形圖,則可修改bar()方法為bar()

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

 

四、直方圖:hist

  df.avg.plot.hist()

  以“education”欄位多維分析,對平均值繪製直方圖,

  alpha:圖形透明度;

  stacked:是否堆疊;

  bins:密度;

  df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.hist(alpha=0.5,stacked=True,bins=30)

 

五、箱線圖:box

  用法一:與“直方圖”類似

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

  用法二:

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

 

六、密度圖:kde

  df.avg.plot.kde()

 

七、面積圖:area

  一般將資料進行分類(資料透視),

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

 

 八、散點圖:scatter

  按公司分類,以平均值為x軸,數量為y軸

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

 

九、散點圖矩陣:scatter_matrix(Pandas的函式)

  適用於兩個以上的引數,兩兩組合

  matrix=df.groupby('companyId').aggregate(['mean','count',max]).avg

  pd.plotting.scatter_matrix(matrix.query('count<50'),diagonal='kde')

  查詢條件:計數小於50

  diagonal:修改圖的型別(kde:密度圖)

  

十、餅圖:pie

  df.city.value_counts().plot.pie(figsize=(6,6))

  figsize:圖的