小编Jam*_*lor的帖子

如何获得今天 - PySpark(SQL)中的“6个月”日期

我有每天更新的表。我用这张表进行分析。我想要一个 6 个月数据的静态窗口作为分析的输入。

我知道我可以在 SQL 中创建一个这样的过滤器,以便每次运行代码时都有 6 个月的数据。

date >= dateadd(mm, -6, getdate())
Run Code Online (Sandbox Code Playgroud)

有人可以建议我如何在 PySpark 中进行相同的操作。我只能想到这个:

df.filter(col("date") >= date_add(current_date(), -6)))
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python filter apache-spark pyspark pyspark-sql

5
推荐指数
1
解决办法
8048
查看次数

计算比例的置信区间 Py(Spark)

我使用以下函数计算 pyspark 中的性别比例。

除此之外,我还想计算一个比例的置信区间,就像Python中的那样,例如计算一个样本中比例的置信区间

所以我应该有一个/两个额外的列与 lower_ci 和 upper_ci

import pyspark.sql.functions as F
def gender_prop(df, grp):
    test_df = df.filter( 
        F.col('GENDER').isin(['0','F'])
        ).groupBy(grp).agg(
            F.mean(
                F.when(F.col('GENDER') == F.lit('M'), 1.0).otherwise(0.0)
            ).alias('gender_score'),
            F.count(F.lit(1)).alias('total')
        ).filter('no_of_streams > 100')
    return test_df

 df = gender_prop(df, 'title')
 display(df)
 title   gender_prop            total
1 ABC    0.2749954192878519     491190
2 CART   0.5417543859649123     320625
3 NUMB   0.3385603833169988     275490
4 PRO    0.24459397661200757    229605
5 SHOW   0.2673127254721652     212055
Run Code Online (Sandbox Code Playgroud)

抱歉含糊其辞,所以基本上我想在 pyspark 中做一些事情,就像这个例子一样

import pandas as pd
import numpy as np
import math

df=pd.DataFrame({'Class': ['A1','A1','A1','A2','A3','A3'], 
                 'Force': [50,150,100,120,140,160] },
                 columns=['Class', …
Run Code Online (Sandbox Code Playgroud)

statistics confidence-interval apache-spark apache-spark-sql pyspark

2
推荐指数
1
解决办法
1578
查看次数

观察数据中的因果推断

我正在使用python包DoWhy来查看基于此站点的tenure和churn之间是否存在因果关系。

# TREATMENT = TENURE
    causal_df = df.causal.do('tenure', 
                             method = 'weighting', 
                             variable_types = {'Churn': 'd', 'tenure': 'c', 'nr_login',  'c','avg_movies': 'c'
                                              },
                             outcome='Churn',common_causes=['nr_login':'c','avg_movies': 'c'])
Run Code Online (Sandbox Code Playgroud)

我还有许多其他变量。

  1. 这是进行分析的正确方法吗?

  2. 常见原因是什么意思,如何选择它们?

  3. 我如何解释结果以及如何确定?

python inference causality

-1
推荐指数
1
解决办法
728
查看次数