数据汇总

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 中的探索性数据分析

Passons à la pratique !

Python 中的探索性数据分析

Preparing Video For Download...