Pypark groupBy具有多个聚合(如Pandas)

2024-05-13 17:26:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我对pyspark非常陌生,我正试图将pandas代码转换为pyspark。我有一个问题就是聚合我的groupby。在

以下是熊猫守则:

df_trx_m = train1.groupby('CUSTOMER_NUMBER')['trx'].agg(['mean', 'var'])

我在AnalyticsVidhya上看到了这个示例,但我不确定如何将其应用于上面的代码:

^{pr2}$

任何帮助都将不胜感激

编辑:

这是另一个尝试:

from pyspark.sql.functions import avg, variance
train1.groupby("CUSTOMER_NUMBER")\
    .agg(
        avg('repatha_trx').alias("repatha_trx_avg"), 
        variance('repatha_trx').alias("repatha_trx_Var")
    )\
    .show(100)

但这只是给了我一个空的数据帧。在


Tags: 代码numberpandasaliascustomeraggpysparkavg
1条回答
网友
1楼 · 发布于 2024-05-13 17:26:14

您可以导入^{}来执行聚合。在

# load function
from pyspark.sql import functions as F

# aggregate data
df_trx_m = train.groupby('Age').agg(
    F.avg(F.col('repatha_trx')).alias('repatha_trx_avg'),
    F.variance(F.col('repatha_trx')).alias('repatha_trx_var')
)

注意,^{}返回总体方差。对于无偏样本方差,还有另一个函数^{}。在

相关问题 更多 >