数组的统计方法 和 布尔类型的数组的方法

数组统计方法

几个主要的函数:

Sum,mean,min,max,argmin,argmax(分别为最大和最小元素的索引)cumsum(所有元素的累积和)cumprod(所有元素的累积积

sum:返回数组的元素的和

mean:返回数组的平均值

max:返回数组的最大值

min:返回数组的最小值

argmax:返回最大值的索引

argmin:返回最小值的索引

cumsum:所有元素的累积和

cumprod:所有元素的累积积

所有的函数当axis=0时.是对每一列进行操作,当axis=1时,对每一行进行操作

1.max函数

import numpy as np

arr = np.arange(5,21).reshape(4,4)

 

Out:
array([[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16],
[17, 18, 19, 20]])

 

arr.max()      返回数组中的最大值
Out[78]: 20

 

arr.max(axis=0)     返回每一列的最大值

Out[80]: array([17, 18, 19, 20])

 

arr.max(axis=1)        返回每一行的最大值

Out[83]: array([ 8, 12, 16, 20])

 

2.cumsum函数

1)不加任何参数

形成一维数组,每个元素等于前面所有元素之和
arr
Out[86]:
array([[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16],
[17, 18, 19, 20]])

arr.cumsum()
Out[84]:
array([ 5, 11, 18, 26, 35, 45, 56, 68, 81, 95, 110, 126, 143,
161, 180, 200], dtype=int32)

2)axis=0时

每一列从上到下逐渐累加

arr.cumsum(axis=0)
Out[87]:
array([[ 5, 6, 7, 8],
[14, 16, 18, 20],
[27, 30, 33, 36],
[44, 48, 52, 56]], dtype=int32)

 

3)axis=1时

每一行从左到右逐渐累加

Out[88]:
array([[ 5, 11, 18, 26],
[ 9, 19, 30, 42],
[13, 27, 42, 58],
[17, 35, 54, 74]], dtype=int32)

 

 

布尔类型数组的方法

arr=np.arange(12).reshape(3,4)

In [4]: arr

Out[4]: 

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

bioom = (arr>5)

bloom
Out[99]:
array([[False, False, False, False],
[False, False, True, True],
[ True, True, True, True]], dtype=bool)

 

Score=np.array([[60,65,30,76],[56,78,98,34],[55,63,76,34],[78,90,45,66],[55,89,99,70],[55,45,89,77]])

Name=np.array(['Mr.Lin','Miss Fang','Mr.Tian','Miss Fang','Mr.Lin','Mr.Tian'])

In [42]: Name=='Mr.Lin'

Out[42]: array([ True, False, False, False, True, False], dtype=bool)

In [44]: Score[Name=='Mr.Lin'] #这里的角码是一个布尔型列表,程序自动检索里面的bool值,自动选取“Ture”布尔值。然后把“True”布尔值转化为行号值,按行号选取数组行。

Out[44]: 

array([[60, 65, 30, 76],

[55, 89, 99, 70]])

In [45]: #这就是一个简单Python数据库查询程序,可以说比任何程序的代码都简单。

布尔数组的sum方法:

返回所有元素的和

bloom.sum()

Out[102]: 6

布尔数组的any方法:

检验数组里有没有true,如果有一个ture,则返回true

bloom.any()
Out[106]: True

布尔数组的all方法:

检验数组是不是全都是true,只有在全都是true的情况下才返回true

bloom.all()
Out[107]: False

 

 

 

 

posted on 2018-03-29 20:16  风过竹影  阅读(2247)  评论(0编辑  收藏  举报