如何在pyspark中找到列的中位数?
How to find median of column in pyspark?
我有一个 spark 数据框
df =
a b c d
0 12 12.0 car bike
1 20 20.5 car alto
2 15 12.0 bike car
3 25 25 bike jeep
我想找到列 'a' 的中位数。我找不到找到中位数的合适方法,所以使用正常的 python NumPy 函数来查找中位数,但我收到如下错误:-
import numpy as np
median = df['a'].median()
错误:-
TypeError: 'Column' object is not callable
预期输出:-
17.5
你可以这样使用precentile_approx,
df.agg(F.expr("percentile_approx('a', 0.5)")).show()
我有一个 spark 数据框
df =
a b c d
0 12 12.0 car bike
1 20 20.5 car alto
2 15 12.0 bike car
3 25 25 bike jeep
我想找到列 'a' 的中位数。我找不到找到中位数的合适方法,所以使用正常的 python NumPy 函数来查找中位数,但我收到如下错误:-
import numpy as np
median = df['a'].median()
错误:-
TypeError: 'Column' object is not callable
预期输出:-
17.5
你可以这样使用precentile_approx,
df.agg(F.expr("percentile_approx('a', 0.5)")).show()