python中frame用法,dataframe agg函数

  python中frame用法,dataframe agg函数

  使用方法介绍

  变换的使用方法

  熊猫。系列。转换

  callfunconselfproducingaserieswithmtransformedvalues。

  生产的系列将有sameaxislengthasself。

  参数

  函数,字符串,列表

  functiontosefortransformingthedata .整合档案衔接器(Integrated File Adapter)函数,mustaitherworkwhenpassedseriesorwhenpassedtoseries。申请。

  可接受的组合有:

  函数

  字符串函数名称

  列出函数和/或函数名,例如【NP。exp sqrt ]

  轴标签字典-函数,函数名或此类的列表。

  轴{ 0或“索引”}

  参数需要与数据框兼容.*参数

  positionalargumentstopasstofunc .* *克瓦查

  函数的关键字参数

  返回

  塞利兹

  aseriesthatmusthathesamelengthasself。

  举起

  valueerriftheturnedserieshasadifferengthghanself。

  series.transform(self,func,axis=0,*args,**kwargs)))))))。

  集料的使用方法

  熊猫Series.agg

  系列AgG(self,func,axis=0,*args,* * kwargs)[来源]

  aggregateusingoneormoreoperationsoverthespecified轴。

  新版本0.20.0。

  参数

  函数,字符串,列表

  functiontoseforaggregatingthedata .整合档案衔接器(Integrated File Adapter)函数,mustaitherworkwhenpassedseriesorwhenpassedtoseries。申请。

  可接受的组合有:

  函数

  字符串函数名称

  列出函数和/或函数名,例如[名词短语,意思是]

  轴标签字典-函数,函数名或此类的列表。

  轴{ 0或“索引”}

  参数需要与数据框兼容.*参数

  positionalargumentstopasstofunc .* *克瓦查

  函数的关键字参数

  返回

  标量,序列或数据帧

  结果可能是:

  标量:当系列。aggiscalledwithsinglefunction

  系列:当数据帧。aggiscalledwithasinglefunction

  数据框:当数据帧。aggiscalledwithseveralfunctions

  返回标量,序列或数据帧。

  系列AgG(self,func,axis=0,*args,**kwargs))))))。

  熊猫DataFrame.agg

  DataFrame.agg(self,func,axis=0,*args,* * kwargs)[来源]

  在指定轴上使用一个或多个运算进行聚合。

  因素

  函数,字符串,列表

  用于聚合数据的函数。如果是函数,则必须在传递给数据帧时工作,或者在传递给数据框架.应用时工作。

  可接受的组合有:

  功能

  字符串函数名

  函数和/或函数名列表,例如[名词短语,意思是]

  轴标签字典-函数、函数名或此类列表。

  轴{ 0或索引,1或列 },默认值为0

  如果为0或“索引”:对每一列应用函数.如果1或“列”:将函数应用于每一行。*参数

  函数的位置参数。* *克瓦查

  函数的关键字参数。

  返回

  标量,序列或数据帧

  结果可能是:

  标量:当系列与单个函数聚合时

  系列:当数据框。集料与单个函数一起调用时

  数据帧:当数据框。集料与几个函数一起调用时

  返回标量系列或数据框架.

  聚合操作总是在一个轴上执行,无论是

  索引(默认)或列轴。这种行为不同于数组聚合函数(均值、中值、乘积、总和、标准差、

  var),其中默认值用于计算扁平化的聚合

  数组,例如numpy.mean(arr_2d)与

  numpy.mean(arr_2d,轴=0)。

  集料是聚合的别名。使用别名。

  DataFrame.agg(self,func,axis=0,*args,**kwargs)

  案例:

  df=pd .数据帧({A :范围(3)“乙”:范围(1,4)})

  df

  有

  0 01

  1 1 2

  2 2 3df。变换(x:x ^ 1)

  有

  01 2

  1 2 3

  2 3 4

  案例

  异同点

  应用()与转换()聚集()的异同点:

  同:

  熊猫。核心。小组。小组

  熊猫。数据帧

  熊猫。系列

  类的对象都可以调用如上方法

  异:

  1 .应用()里面可以跟自定义的函数,包括简单的求和函数以及复杂的特征间的差值函数等,但是agg()做不到

  2.agg()/transform()方法可以反射调用(str调用)"总和"、"最大值"、"最小值"、"计数"等方法,形如总和。应用不能直接使用,而可以用自定义函数列特征的方法调用。

  3 .转换()里面不能跟自定义的特征交互函数,因为改变是真针对每一元素(即每一列特征操作)进行计算

  性能比较

  分别计算在同样简单需求下各组合方法的计算时长

  数据源是最近卡歌网比赛:

  #更正" sell_prices.csv "的数据类型

  定价类型={ store _ id : category , item_id: category , wm_yr_wk: int16 , sell _ price : float 32 } #读取战斗支援车文件

  prices=pd.read_csv( ./sell_prices.csv ,

  dtype=priceDTypes)

  prices.head()

  贷款(价格)

  2.1转换()方法自定义函数

  prices.groupby([商店标识,商品标识])[销售价格]。transform(x:x . min())

  prices.groupby([商店标识,商品标识])[销售价格]。transform(x:x . max())

  prices.groupby([商店标识,商品标识])[销售价格]。transform(x:x . sum())

  prices.groupby([商店标识,商品标识])[销售价格]。转换(lambdax:x.count())

  len(prices.groupby([store_id , item_id])[sell_price].transform(x:x . mean())

  查看代码

  2.2转换()方法大蟒内置方法

  prices.groupby([商店标识,商品标识])[销售价格]。转换("分钟")

  prices.groupby([商店标识,商品标识])[销售价格]。转换("最大")

  prices.groupby([商店标识,商品标识])[销售价格]。转换("求和")

  prices.groupby([商店标识,商品标识])[销售价格]。转换("计数")

  len(prices.groupby([store_id , item_id])[sell_price].转换(意思))

  查看代码

  2.3应用()方法自定义函数

  prices.groupby([商店标识,商品标识])[销售价格]。apply(lambdax:x.min())

  prices.groupby([商店标识,商品标识])[销售价格]。apply(lambdax:x.max())

  prices.groupby([商店标识,商品标识])[销售价格]。apply(lambdax:x.sum())

  prices.groupby([商店标识,商品标识])[销售价格]。apply(lambdax:x.count())

  len(prices.groupby([store_id , item_id])[sell_price].apply(lambda x:x.mean()))

  查看代码

  2.4 agg()方法自定义函数

  prices.groupby([商店标识,商品标识])[销售价格]。agg(lambdax:x.min())

  prices.groupby([商店标识,商品标识])[销售价格]。agg(lambdax:x.max())

  prices.groupby([商店标识,商品标识])[销售价格]。agg(lambdax:x.sum())

  prices.groupby([商店标识,商品标识])[销售价格]。agg(lambdax:x.count())

  len(prices.groupby([store_id , item_id])[sell_price].agg(x:x . mean())

  查看代码

  2.5 agg()方法大蟒内置方法

  prices.groupby([商店标识,商品标识])[销售价格]。agg(min )

  prices.groupby([商店标识,商品标识])[销售价格]。agg(max )

  prices.groupby([商店标识,商品标识])[销售价格]。agg(“总和")

  prices.groupby([商店标识,商品标识])[销售价格]。agg(计数)

  len(prices.groupby([store_id , item_id])[sell_price].agg(mean ))

  查看代码

  2.6 结论

  agg() python内置方法的计算速度最快,其次是变换()python内置方法。而转换()方法自定义函数的组合方法最慢,需要避免使用!

  大蟒自带的统计数据统计模块在熊猫结构中的计算也非常慢,也需要避免使用!

  转化差异

  集料运算分组的数据完直接赋给原生df数据某字段报错

  应用运算分组的数据完直接赋给原生df数据某字段报错

  改变运算分组的数据完直接赋给原生df数据某字段就不会报错

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: