Python数据分析之数据聚合与分组运算

1.分组与聚合的原理

在Pandas中:

​ 分组:指使用特定的条件将原数据划分为多个组;

​ 聚合:对每个分组中的数据执行某些操作,最后将计算的结果进行整合。

1.2分组与聚合的过程分为三步
1.2.1拆分
将数据集按照些标准拆分为若干个组。split拆分方法

1.2.2应用
将某个函数或方法(内置和自定义均可)应用到每个分组。apply方法应用

1.2.3合并
将产生的新值整合到结果对象中。combine方法整合

2. 通过groupby()方法将数据拆分成组
​ 在Pandas中,可以通过groupby()方法将数据集按照某些标准划分成若干个组。

2.1 groupby()方法

Hadley Wickham创造了一个用于表示分组运算的术语“split—apply—combine”(拆分—应用—合并),分组运算第一阶段,pandas对象中的数据会根据你所提供的一个或多个键被拆分

(split)为多组,拆分操作是在对象特定轴上执行的。例如:DataFrame可以在其行(axis = 0)或者列(axis =1)上进行分组。然后,将一个函数应用(apply)到各个分组并产生一个新值。最后,所有这些函数的执行结果会被合并(combine)到最终结果对象中。

分组键可以有多种形式,且类型不必相同:

  • 列表活数组,其长度与待分组的轴一样;
  • 表示DataFrame某个列的值;
  • 字典或Series,给出待分组轴上的值与分组名之间的对应关系
  • 函数,用于处理轴索引活索引中的各个标签

分组groupby基本用法

import pandas as pd
import numpy as np
from pandas import Series,DataFrame
df = DataFrame({'key1':['a','a','b','b','a'],
               'key2':['one','two','one','two','one'],
               'data1':np.random.randn(5),
               'data2':np.random.randn(5)})
df

Python数据分析之数据聚合与分组运算_第1张图片

grouped = df['data1'].groupby(df['key1'])
grouped.mean()

 

Python数据分析之数据聚合与分组运算_第2张图片

03 数据聚合

Python数据分析之数据聚合与分组运算_第3张图片

 3.1使用循环得到结果

Python数据分析之数据聚合与分组运算_第4张图片

 3.2平均值

Python数据分析之数据聚合与分组运算_第5张图片

3.3 agg

agg是DataFrame的直接方法,返回的也是一个DataFrame。当然,很多功能用sum、mean等等也可以实现。但是agg更加简洁, 而且传给它的函数可以是字符串,也可以自定义,参数是column对应的子DataFrame。 

Python数据分析之数据聚合与分组运算_第6张图片

数据应用 apply

apply()方法的使用是十分灵活的,它可以在许多标准用例中替代聚合和转换,另外还可以处理一些比较特殊的用例。

 

你可能感兴趣的:(数据分析,数据挖掘)