Pandas Groupby 与聚合
Pandas Groupby with Aggregates
我正在与 pandas 合作,我想知道根据应用的统计函数是否存在差异(如以下示例所示),以及是否存在某些情况下一个优于另一个的情况。
df.groupby('A')['B'].agg('min')
df.groupby('A')['B'].min()
两个代码都给出了相同的期望输出。但是agg
函数在应用的函数数量上更加通用
例如,您可以使用 agg
执行以下操作
df.groupby('A')['B'].agg(['min', 'max', 'mean'])
另一个区别是,应用单个函数即 min
会给你一个 Series
在你的情况下 agg
的输出可以是 Series
或 DataFrame
根据我的经验,它们之间没有区别,因为,底层函数是 np.min
def min(self, numeric_only: bool = False, min_count: int = -1):
return self._agg_general(
numeric_only=numeric_only, min_count=min_count, alias="min", npfunc=np.min
)
npfunc=np.min
我正在与 pandas 合作,我想知道根据应用的统计函数是否存在差异(如以下示例所示),以及是否存在某些情况下一个优于另一个的情况。
df.groupby('A')['B'].agg('min')
df.groupby('A')['B'].min()
两个代码都给出了相同的期望输出。但是agg
函数在应用的函数数量上更加通用
例如,您可以使用 agg
df.groupby('A')['B'].agg(['min', 'max', 'mean'])
另一个区别是,应用单个函数即 min
会给你一个 Series
在你的情况下 agg
的输出可以是 Series
或 DataFrame
根据我的经验,它们之间没有区别,因为,底层函数是 np.min
def min(self, numeric_only: bool = False, min_count: int = -1):
return self._agg_general(
numeric_only=numeric_only, min_count=min_count, alias="min", npfunc=np.min
)
npfunc=np.min