栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

apply()和aggregate()函数之间的熊猫区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

apply()和aggregate()函数之间的熊猫区别

agg有两种版本(aggregate的缩写)和适用:第一个版本在groupby对象上定义,第二个版本在Dataframes上定义。

如果您考虑

groupby.agg

groupby.apply
,则主要区别在于申请是灵活的(docs):

对分组数据进行的某些操作可能不适合聚合或转换类别。或者,您可能只是希望GroupBy推断如何合并结果。对于这些,请使用apply函数,在许多标准用例中,apply函数可用于聚合和转换。

注意:apply可以充当reducer,transformer或filter函数,具体取决于传递给apply的内容。因此,取决于采用的路径以及您要分组的对象。因此,分组的列可以被包括在输出中并且设置索引。

例如,有关如何自动更改返回类型的说明,请参见Python
Pandas:如何将列中的分组列表作为dict
返回。

groupby.agg
,在另一方面,是用于将用Cython优化的函数(即,能够计算非常好
'sum'
'mean'
'std'
等非常快)。它还允许在不同的列上计算多个(不同)函数。例如,

df.groupby('some_column').agg({'first_column': ['mean', 'std'],         'second_column': ['sum', 'sem']}

在第一列上计算平均值和标准偏差,在第二列上计算平均值的和和标准误。有关更多示例,请参见dplyr总结熊猫等效项。

这些差异也总结了什么是熊猫AGG和应用功能之间的区别?但是,一个专注于之间的差异

groupby.agg
groupby.apply

Dataframe.agg
是0.20版的新功能。之前,我们无法将多个不同的功能应用于不同的列,因为只有groupby对象才可以使用。现在,您可以通过在Dataframe的列上计算多个不同的函数来汇总它。来自的示例是否有dplyr
:: summarise的等效熊猫?

iris.agg({'sepal_width': 'min', 'petal_width': 'max'})petal_width    2.5sepal_width    2.0dtype: float64iris.agg({'sepal_width': ['min', 'median'], 'sepal_length': ['min', 'mean']})        sepal_length  sepal_widthmean        5.843333          NaNmedianNaN          3.0min         4.300000          2.0

无法使用

Dataframe.apply
。它可以逐列或逐行执行,并在该列/行上执行相同的功能。对于类似的单个函数,
lambda x:x**2
它们产生相同的结果,但其预期用途却大不相同。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407437.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号