Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算Pyspark中的平均用户存在_Python_Apache Spark_Pyspark_Pyspark Sql - Fatal编程技术网

Python 计算Pyspark中的平均用户存在

Python 计算Pyspark中的平均用户存在,python,apache-spark,pyspark,pyspark-sql,Python,Apache Spark,Pyspark,Pyspark Sql,我有一个数据框,它有两列,days,表示用户被看到的天数和users,计算了这几天看到的用户数 +----+---------------+ |days|number_of_users| +----+---------------+ | 2| 3922| | 3| 1750| | 4| 883| | 5| 563| | 6| 319| | 7|

我有一个数据框,它有两列,
days
,表示用户被看到的天数和
users
,计算了这几天看到的用户数

+----+---------------+
|days|number_of_users|
+----+---------------+
|   2|           3922|
|   3|           1750|
|   4|            883|
|   5|            563|
|   6|            319|
|   7|            157|
|   8|             79|
|   9|             31|
|  10|              9|
|  11|              2|
+----+---------------+
在2天内看到的用户(这里是3922)在3、4等时间内看不到。因此每个bucket包含一组唯一的用户。 如何从该数据帧计算平均用户存在

我在想一个类似于拿一个
sum_I[users(I)*days(I)]/30
,其中30是一个月的总天数。然而,我不知道我如何才能做到这一点,或者它是否是正确的公式


编辑:AVERAGE USER PRESENCE(平均用户存在)是指用户被看到的平均天数,例如,从上表中,大约3.5天。

平均用户存在天数将是加权平均值
sum_i[用户(i)*天(i)]/sum_i[用户(i)]
-

交叉核对:

(2*3922+3*1750+4*883+5*563+6*319+7*157+8*79+9*31+10*9+11*2)/(3922+1750+883+563+319+157+79+31+9+2)
= 23477/7715
= 3.0403

平均用户出现天数为加权平均值
sum_i[用户(i)*天(i)]/sum_i[用户(i)]
-

交叉核对:

(2*3922+3*1750+4*883+5*563+6*319+7*157+8*79+9*31+10*9+11*2)/(3922+1750+883+563+319+157+79+31+9+2)
= 23477/7715
= 3.0403

谢谢你,你知道我如何使用数据框的列直接将其应用于数据框吗?应该是sum_I[用户(I)*天(I)]/sum_I[用户(I)],因为你在使用加权平均数。谢谢你,你知道我如何使用数据框的列直接将其应用于数据框吗?应该是sum_I[用户(I)*天(I)]/sum_I[用户(I)],因为你在取加权平均值。