我想使用Big Query和Datalab进行异常检测。 MIN和MAX给我相同的值,但分位数却不同。大查询给了我
Row f0_ f1_ approx_quantiles
1 0.01 820.55 0.01
190.04
820.55
这似乎是错误的,它们只是最小值和最大值。 Datalab给我其他分位数。
我做到了:
SELECT MIN(Menge),MAX(Menge),APPROX_QUANTILES(Menge,2) AS approx_quantiles FROM `nifty-stage-155512.de_veolia_vus_dev_views.tank_data_4`
其他人是否经历过相同的事情或有人有解决方案?
修改
从datalab我得到
0.25 61.645
0.50 190.000
0.75 253.000
Name: MENGE, dtype: float64
答案 0 :(得分:2)
我有点困惑。您要第25位和第75位吗?从文档中。
APPROX_QUANTILES
APPROX_QUANTILES([DISTINCT]表达式,编号[{IGNORE | RESPECT} NULLS])
说明
返回一组表达式值的近似边界,其中number表示要创建的分位数。该函数返回一个由数字+ 1个元素组成的数组,其中第一个元素是近似最小值,最后一个元素是近似最大值。
如果这样,您需要更多的分位数,则需要增加“数字”的值。所以4会给你[min,25th,50th,75th,max]
答案 1 :(得分:1)
也可能是解决方案:
SELECT percentiles[offset(25)], percentiles[offset(50)], percentiles[offset(75)]
FROM (SELECT APPROX_QUANTILES(Menge, 100) percentiles FROM