Я вычисляю пропорции пола в pyspark, используя следующую функцию. В дополнение к этому, я также хочу рассчитать доверительный интервал для такой пропорции в python, например, Calculating ...

0
James Taylor 6 Янв 2021 в 16:38

1 ответ

Лучший ответ

В вашем первом фрагменте кода много неясных фильтров, но идея заключается в следующем:

import pyspark.sql.functions as F
def gender_prop(df, grp):
    col = F.when(F.col('GENDER') == F.lit('M'), 1.0).otherwise(0.0)

    return df.groupBy(grp).agg(
        F.mean(col).alias('avg'),
        F.count(F.lit(1)).alias('total'),
        F.stddev(col).alias('std')
    ).withColumn(
        'ci95_hi',
        F.col('avg') + 1.96 * F.col('std') / F.sqrt(F.col('total'))
    ).withColumn(
        'ci95_lo',
        F.col('avg') - 1.96 * F.col('std') / F.sqrt(F.col('total'))
    )
3
mck 6 Янв 2021 в 15:20