median()

阅读(2799) 标签: 序列, 逻辑分段,

描述:

对序列分段后返回分界值。

语法:

A.median(k:n,x)

备注:

将序列A根据其长度平均分成n段,返回第k段与第k+1段的分界值,有参数x时,先对A计算表达式x,然后再分段。

k省略n不省略时,将各段的分界值组成序列返回。

kn参数全省略时,如果序列长度是奇数返回中间位置的成员值;如果序列长度是偶数返回中间两个成员的平均值。对于不能平均分段的序列采取逻辑分段。

参数:

A

序列。

k

k段,k>=1k<=nk省略时返回各段间的分界值。

n

分段数,大于1k省略时才能省略nn缺省为2

x

计算表达式,有x参数时,kn不可省略。

返回值:

数值/序列

示例:

A为序列:

 

A

 

1

=[1,2,3,4,5,6,7,8]

 

2

=A1.median()

参数全省略,序列长度为偶数,所以返回中间两个成员的平均值,即(4+5)/2,结果为4.5

3

=A1.median(2:3)

分段形式如下:

将序列分为3段,返回第2段与第3段的分界值,结果为6

4

=A1.median(:3)

参数k省略,返回各段的分界值组成序列,结果值为[3,6]

5

=A1.median(:10)

分段形式如下:

结果为:[1,2,3,4,4.5,5,6,7,8]

6

=A1.median(:,~%2)

原序列经过除以2取余数,然后升序排序生成新序列[0,0,0,0,1,1,1,1]k:n参数全省略,序列长度为偶数,所以返回中间两个成员的平均值,即(0+1)/2,结果为0.5

7

=A1.median(2:3,~%2)

将新序列分为3段,返回第2段与第3段的分界值,结果为1

A为序表/排列:

 

A

 

1

=demo.query("select  top 10 EID,NAME,GENDER from EMPLOYEE")

2

=A1.median(,EID)

返回结果:5.5

3

=A1.median(2:6,EID)

返回结果:4

4

=A1.median(:6,EID)

返回结果:[2,4,5.5,7,9]