|| apoc.agg.statistics - APOC 核心文档 - Neo4j 文档

apoc.agg.statistics

详情

语法

apoc.agg.statistics(value [, percentiles ])

描述

返回给定集合中 INTEGERFLOAT 值的以下统计信息:百分位数、最小值、非零最小值、最大值、总计、平均值、标准差。

参数

名称

类型

描述

value

INTEGER | FLOAT

要聚合的值。

percentiles

LIST<FLOAT>

从中获取值的百分位数。默认值为:[0.5, 0.75, 0.9, 0.95, 0.99]

返回

MAP

使用示例

本节中的示例基于以下样本图

CREATE (TopGun:Movie {title:"Top Gun", released:1986, tagline:'I feel the need, the need for speed.'})
CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'})
CREATE (ThatThingYouDo:Movie {title:'That Thing You Do', released:1996, tagline:'In every life there comes a time when that thing you dream becomes that thing you do'})
CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'})
CREATE (AsGoodAsItGets:Movie {title:'As Good as It Gets', released:1997, tagline:'A comedy from the heart that goes for the throat.'})
CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'})
CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
CREATE (SnowFallingonCedars:Movie {title:'Snow Falling on Cedars', released:1999, tagline:'First loves last. Forever.'})
CREATE (JerryMaguire:Movie {title:'Jerry Maguire', released:2000, tagline:'The rest of his life begins now.'});
CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'})

我们可以通过运行以下查询,找到电影不同统计指标的发行年份

MATCH (movie:Movie)
RETURN apoc.agg.statistics(movie.released) AS stats;
结果
统计

{total: 10, min: 1986, minNonZero: 1986.0, max: 2003, mean: 1996.8, 0.5: 1997, 0.99: 2003, 0.75: 1999, 0.9: 2000, 0.95: 2003, stdev: 4.3772137256478585}

我们可以通过在 map 的 keys 上使用 UNWIND 子句来将值映射展开为每行一个键

MATCH (movie:Movie)
WITH apoc.agg.statistics(movie.released) AS stats
UNWIND keys(stats) AS key
RETURN key, stats[key] AS value;
结果
value

"总计"

10

"最小值"

1986

"非零最小值"

1986.0

"最大值"

2003

"平均值"

1996.8

"0.5"

1997

"0.99"

2003

"0.75"

1999

"0.9"

2000

"0.95"

2003

"标准差"

4.3772137256478585

默认情况下,该函数将返回 0.5、0.75、0.9、0.95 和 0.99 百分位数,但我们可以传入自己的百分位数(第二个参数)

MATCH (movie:Movie)
WITH apoc.agg.statistics(movie.released, [0.1, 0.25]) AS stats
UNWIND keys(stats) AS key
RETURN key, stats[key] AS value;
结果
value

"总计"

10

"最小值"

1986

"非零最小值"

1986.0

"0.1"

1986

"最大值"

2003

"平均值"

1996.8

"0.25"

1996

"标准差"

4.3772137256478585

© . This site is unofficial and not affiliated with Neo4j, Inc.