Apache Age(图形扩展名)是PostgreSQL数据库的强大图形扩展名。它提供了丰富的统计和数学功能,以有效地分析和操纵数据。在这篇博客文章中,我们将深入研究Apache Age提供的基本功能,即percentileCont()
函数。此功能用于计算数据集中的百分位数。让我们详细探讨此功能并了解何时使用。
什么是百分位数?
在我们深入研究功能的细节之前,让我们简要了解百分位数的概念。百分位数是一种统计度量,它指示特定值在数据集中的相对位置。它代表了数据集中给定观测值的百分比下降的值。例如,第75个百分位数(也称为第三四分位数)表明数据集中的75%的值低于该特定值。
百分比功能
Apache Age中的percentileCont()
功能计算连续百分位。它根据数据集中相邻值之间的线性插值提供了给定百分位数的值的估计。该函数返回一组给定值的百分位数,其百分位数从0.0到1.0。
该功能需要两个参数(表达式和百分位数)并返回浮点。
查询语法
给定此数据集
demo=# SELECT * FROM cypher('percentile', $$
demo$# CREATE (:Person {name: 'Paul', age: 20}), (:Person {name: 'Mark', age: 22}),
demo$# (:Person {name: 'Peter', age: 42}), (:Person {name: 'Bob', age: 12}),
demo$# (:Person {name: 'Robin', age: 30}), (:Person {name: 'Grace', age: 24}),
demo$# (:Person {name: 'Martha', age: 32}), (:Person {name: 'Keith', age: 28})
demo$# $$) AS (a agtype);
a
---
(0 rows)
demo=# SELECT * FROM cypher('percentile', $$
demo$# MATCH (n:Person)
demo$# RETURN percentileCont(n.age, 0.4)
demo$# $$) as (percentile_cont_age agtype);
percentile_cont_age
---------------------
23.6
(1 row)
在这种情况下,0.4是中位数,或40个百分位数。财产年龄中的40个百分位数将返回,以加权平均值进行计算。
使用此功能时要考虑的事情是;
- 零值将从计算中排除。
-
percentileCont(null, percentile)
将返回null。
要注意的事情:
- 百分位参数是0到1之间的数字值 代表所需的百分位数。例如,0.5代表50个百分位数(中位数)。
- 表达式参数定义了将计算百分位数的数据集。
-
percentileCont()
函数返回连续值,即使百分位数属于数据集中的两个现有值。 -
percentileCont()
函数假定数据的连续分布并执行线性插值以估计百分比值。
用例
- 当您需要计算连续数据集中的百分位数时,
percentileCont()
函数很有用。 - 此功能通常用于您需要对百分位数进行精确估计的方案,即使它属于两个实际数据点之间。
结论
了解apache年龄中的percentileCont()
功能对于准确的百分位计算至关重要。 percentileCont()
通过线性插值提供了连续的估计。此功能的使用取决于数据的性质以及分析中所需的精度水平。通过考虑数据集的特征和所需结果,您可以有效利用此功能从数据中获得有意义的见解。
参考
- The Aggregation functions in Apache AGE
- 访问Apache Age网站:https://age.apache.org/
- 访问apache age github:https://github.com/apache/age
- 请访问Apache Age Goy GiThub:https://github.com/apache/age-viewer