python - 如何在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
解决方案
你可以像这样使用 precentile_approx ,
df.agg(F.expr("percentile_approx('a', 0.5)")).show()
推荐阅读
- php - 如何优化我的 MySQL 查询,使其运行得更快
- c++ - 派生类实例的 std::vector,其 Bases 包含(原始)指针
- node.js - 在firebase云功能中,孩子正在自我删除
- android - PokeGenie 是如何工作的?它从哪里获取数据?(口袋妖怪GO)
- google-bigquery - BigQuery x Python:如何使用 dbapi 游标将 GEOGRAPHY 插入表中?
- python - 带间隔的滚动平均值
- java - GoogleMap、CameraPosition 以北为目标坐标
- excel - 使用 do while 循环时,我的 VBA 代码不起作用
- rest - 如何从嵌套的 HTTP 客户端访问密钥?
- r - 错误:geom_path:每个组仅包含一个观察值