首页 > 解决方案 > 如何在pyspark中找到列的中位数?

问题描述

我有一个火花数据框

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

标签: pythonnumpypysparkmedian

解决方案


你可以像这样使用 precentile_approx ,

df.agg(F.expr("percentile_approx('a', 0.5)")).show()

推荐阅读