вычислить скорость в фрейме pyspark - PullRequest
1 голос
/ 14 октября 2019

У меня есть такой искровой фрейм данных:

date      isF  
190502     1 
190502     0 
190503     1 
190504     1 
190504     0 
190505     1

Я бы хотел рассчитать для каждой даты коэффициент "isF", когда isF = 1. Ожидаемый результат:

 date  rate
190502     0.5 
190503     1 
190504     0.5 
190505     1

Я попробовал кое-что как этот, но здесь я вычисляю сумму, как я могу сделать, чтобы вычислить ставку? :

stats_daily_df = (tx_wd_df
             .groupBy("date", "isF")
             .agg(# select 
                when(col("isF") == 1, (sum("isF")).alias("sum"))  
                .otherwise(0))   # else 0.00
                  )

1 Ответ

3 голосов
/ 14 октября 2019

IIUC, ниже может помочь:

df.groupBy('date').agg((f.sum('isF')/f.count('isF')).alias('rate')).show()
+------+----+
|  date|rate|
+------+----+
|190505| 1.0|
|190502| 0.5|
|190504| 0.5|
|190503| 1.0|
+------+----+

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...