資料摘要

Python 的探索性資料分析

Izzy Weber

Curriculum Manager, DataCamp

探索分組資料

  • .groupby() 依類別分組資料
  • 彙總函式決定如何摘要分組後的資料

 

books[["genre", "rating", "year"]].groupby("genre").mean()
|       genre |   rating |        year |
|-------------|----------|-------------|
|   Childrens | 4.780000 | 2015.075000 |
|     Fiction | 4.570229 | 2013.022901 |
| Non Fiction | 4.598324 | 2013.513966 |
Python 的探索性資料分析

彙總函式

  • 加總:.sum()
  • 計數:.count()
  • 最小值:.min()
  • 最大值:.max()
  • 變異數:.var()
  • 標準差:.std()
Python 的探索性資料分析

未分組資料的彙總

  • .agg() 對整個 DataFrame 套用彙總函式

 

books[["rating", "year"]].agg(["mean", "std"])
|      |   rating |        year |
|------|----------|-------------|
| mean | 4.608571 | 2013.508571 |
|  std | 0.226941 |     3.28471 |
Python 的探索性資料分析

為各欄指定彙總方式

books.agg({"rating": ["mean", "std"], "year": ["median"]})
|        |   rating |   year |
|--------|----------|--------|
|   mean | 4.608571 |    NaN |
|    std | 0.226941 |    NaN |
| median |      NaN | 2013.0 |
Python 的探索性資料分析

命名摘要欄位

books.groupby("genre").agg(
    mean_rating=("rating", "mean"),
    std_rating=("rating", "std"),
    median_year=("year", "median")
)
|  genre      | mean_rating | std_rating | median_year |
|-------------|-------------|------------|-------------|
|   Childrens |    4.780000 |   0.122370 |      2015.0 |
|     Fiction |    4.570229 |   0.281123 |      2013.0 |
| Non Fiction |    4.598324 |   0.179411 |      2013.0 |
Python 的探索性資料分析

視覺化類別摘要

sns.barplot(data=books, x="genre", y="rating")
plt.show()

書籍類型與平均評分的長條圖

Python 的探索性資料分析

一起來練習吧!

Python 的探索性資料分析

Preparing Video For Download...