python聚合函数 python聚合函数整数列表求最大,最小,平均值( 三 )


数据透视表:rfm=df.pivot_table( index ='user_id', values =['order_products','order_amount'], aggfunc ={'order_amount':'sum','order_products':'sum'})
map()方法是pandas.series.map()方法, 对DF中的元素级别的操作, 可以对df的某列或某多列
applymap(func)也是DF的属性, 对整个DF所有元素应用func操作
purchase_r=pivoted_counts.applymap(lambda x: 1 if x1 else np.NaN if x==0 else 0)
apply(func)是DF的属性, 对DF中的行数据或列数据应用func操作,也可用于Series
apply(lambda x:x.cumsum()/x.sum())累计占比
apply(lambda x:x/x.sum(),axis=0)每一列中每行数据占比
下周开始进入数据分析思维的课程 , 很期待后面的课程以及项目,加油!
python--pandas分组聚合groupby 方法是pandas中的分组方法,对数据框采用 groupby 方法后,返回的是 DataFrameGroupBy 对象,一般分组操作后会进行聚合操作 。
对数据框按 A 列进行分组 , 产生分组数据框 。分组数据框是可迭代对象,可以进行循环遍历,可以看出在循环中,每个元素的类型是元组,
元组的第一个元素是分组值,第二个元素是对应的分组数据框 。
可以对分组后的数据框直接使用聚合方法 agg ,对分组数据框的每一列计算统计函数值 。
可以根据数据框外的序列数据对数据框进行分组 , 需要注意 序列长度需要与数据框行数相同。
可以根据数据框的多列对数据框进行分组 。
根据 A , B 列进行分组,然后求和 。
可以根据索引对数据框进行分组,需要设置 level 参数 。
数据框只有一层索引 , 设置参数 level=0。
当数据框索引有多层时,也可以根据需求设置 level 参数,完成分组聚合 。
设置 level 参数,如需要根据第一层索引,即 id1 进行分组 , 可以设置 level=0 或 level='id1' 完成分组聚合 。
分组后一般会进行聚合操作,用 agg 方法进行聚合 。
对分组后数据框使用单个函数进行聚合,单个聚合函数会对每列进行计算 , 然后合并返回 。聚合函数以字符串的形式传入 。
可以对分组后的数据指定列进行分组聚合 。需要注意 子列需要用[]包裹。
聚合函数也可以传入自定义的匿名函数 。
聚合函数可以是多个函数 。聚合时,多个聚合函数会对每列进行计算 , 然后合并返回 。聚合函数以列表的形式传入 。
聚合返回后的数据列名有两层索引,第一层是聚合的列名,第二层是使用的聚合函数名 。如果需要对返回的聚合函数名重命名,
需要在传参时,传入元组,第一个元素为聚合函数名,第二个元素为聚合函数 。
同样,也可以传入匿名函数 。
如果需要对不同的列进行不同的聚合计算,则需要传入字典的形式 。
可以重命名聚合后的列名 , 注意 只能对一列传入一个聚合函数时有效。
Python分组前言分组原理
核心:
1.不论分组键是数组、列表、字典、Series、函数,只要其与待分组变量的轴长度一致都可以传入groupby进行分组 。
2.默认axis=0按行分组,可指定axis=1对列分组 。
对数据进行分组操作的过程可以概括为:split-apply-combine三步:
1.按照键值(key)或者分组变量将数据分组 。
2.对于每组应用我们的函数,这一步非常灵活,可以是python自带函数 , 可以是我们自己编写的函数 。
3.将函数计算后的结果聚合 。
1 分组模式及其对象
1.1 分组的一般模式
三个要素:分组依据、数据来源、操作及其返回结果
df.groupby(分组依据)[数据来源].使用操作

推荐阅读