0
火花中是否有任何函数可以通过忽略空值/ NaN来计算数据帧中列的平均值?和R一样,我们可以传递一个选项,比如na.rm = TRUE。火花数据框中的列的平均值为空
当我使用NaN在列上应用avg()时,我只能获得NaN。
火花中是否有任何函数可以通过忽略空值/ NaN来计算数据帧中列的平均值?和R一样,我们可以传递一个选项,比如na.rm = TRUE。火花数据框中的列的平均值为空
当我使用NaN在列上应用avg()时,我只能获得NaN。
你可以做到以下几点:
df.na.drop(Seq("c_name")).select(avg(col("c_name")))
这似乎为我星火2.1.0工作:
In [16]: mydesc=[{'name':'Fela', 'age':46},
{'name':'Menelik','age':None},
{'name':'Zara','age':39}]
In [17]: mydf = sc.parallelize(mydesc).toDF()
In [18]: from pyspark.sql.functions import avg
In [20]: mydf.select(avg('age')).collect()[0][0]
Out[20]: 42.5
它不会工作。专注于“通过忽略....../NaN” – zero323