我有一个如下所示的Dataframe:
+-----------+------------+
|parsed_date| count|
+-----------+------------+
| 2017-12-16| 2|
| 2017-12-16| 2|
| 2017-12-17| 2|
| 2017-12-17| 2|
| 2017-12-18| 1|
| 2017-12-19| 4|
| 2017-12-19| 4|
| 2017-12-19| 4|
| 2017-12-19| 4|
| 2017-12-20| 1|
+-----------+------------+
我想计算整个“count”列的中位数,并将结果添加到一个新列。
我试过:
median = df.approxQuantile('count',[0.5],0.1).alias('count_median')
但我当然做错了,因为它会产生以下错误:
AttributeError: 'list' object has no attribute 'alias'
请帮忙。
1条答案
按热度按时间llycmphe1#
您需要添加一列
withColumn
因为approxQuantile
返回浮点数列表,而不是spark列。您也可以使用
approx_percentile
/percentile_approx
spark sql中的函数: