1.元素级函数
1.1 函数说明
元素级函数就是针对数组中的每个元素执行相同的操作,主要函数及其说明如下表所示
函数 | 说明 |
---|---|
abs | 求每个元素的绝对值 |
sqrt | 求每个元素的平方根 |
square | 求每个元素的平方 |
exp | 求各个元素以e为底的指数 |
log、log10、log2、loglp | 求每个元素以e为底、以10为底、以2为底的对数,以及log(1+x) |
modf | 适用于浮点数,将小数和整数部分以独立的数组返回 |
isnan | 用来判断是否是NaN,返回一个布尔值 |
1.2 函数用法示例
先新建一个数组
import numpy as np
arr1 = np.array([1.2, 2.4, 3.6, 4.8])
print(arr1)
result:
[1.2 2.4 3.6 4.8]
1.2.1 求各个元素的平方
print(np.square(arr1))
result:
[ 1.44 5.76 12.96 23.04]
1.2.2 将每个元素的小数和整数部分以独立的数组返回
print(np.modf(arr1))
result:
(array([0.2, 0.4, 0.6, 0.8]), array([1., 2., 3., 4.]))
2.描述统计函数
2.1 函数说明
描述统计函数是对整个numpy数组或某条轴的数据进行统计运算,主要的函数及其说明如下表所示
函数 | 说明 |
---|---|
sum | 对数组中全部元素或者某行元素或者某列元素求和 |
mean | 对数组中全部元素或者某行元素或者某列元素求平均值 |
std、var | 对数组中全部元素或者某行元素或者某列元素求标准差、方差 |
min、max | 对数组中全部元素或者某行元素或者某列元素求最小值、最大值 |
argmin、argmax | 对数组中全部元素或者某行元素或者某列元素求最小值、最大值对应的索引 |
cumsum | 所有元素的累计和,结果以数组的形式返回 |
cumprod | 所有元素的累计积,结果以数组的形式返回 |
2.2 函数用法示例
先新建一个数组
import numpy as np
arr1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr1)
result:
[[1 2 3]
[4 5 6]
[7 8 9]]
2.2.1 求累计和
print(arr1.cumsum())
result:
[ 1 3 6 10 15 21 28 36 45]
这里第2个元素对应前2个元素的和,第3个元素对应前3个元素的和,后面依次类推
2.2.2 求和
2.2.2.1 对整个数组求和
print(arr1.sum())
result:
45
2.2.2.2 对每一行求和
print(arr1.sum(axis=1))
result:
[ 6 15 24]
这里第1个元素是第1行元素1+2+3的结果,第2个是第2行元素4+5+6的结果
2.2.2.3 对每一列求和
print(arr1.sum(axis=0))
result:
[12 15 18]
这里第1个元素是第1列元素1+4+7的结果,第2个是第2行元素2+5+8的结果
3.条件函数
numpy数组中的条件函数np.where(condition, x,y)类似于Excel中的if(codition, True, False)函数。如果条件(condition)为真则返回x,如果条件为假则返回y
import numpy as np
arr = np.array([56, 61, 55])
print(arr)
result:
[56 61 55]
print(np.where(arr > 60, '及格', '不及格'))
result:
['不及格' '及格' '不及格']
print(np.where(arr > 60))
result:
(array([1], dtype=int64),)
从结果可以看出,如果不传x,y那么结果返回的就是满足条件的值对应的索引
4.集合关系
每个数组都可以当做一个集合,集合的关系其实就是两个数组的关系,主要有包含、交集、并集、差集四种
新建两个数组
import numpy as np
arr1 = np.array([1, 2, 3, 4])
print(arr1)
result:
[1 2 3 4]
arr2 = np.array([2, 4, 6, 8])
print(arr2)
result:
[2 4 6 8]
4.1包含
判断数组arr1中包含数组arr2中的哪些值,如果包含返回True,不包含则返回False
print(np.in1d(arr1, arr2))
result:
[False True False True]
4.2 交集
print(np.intersect1d(arr1, arr2))
result:
[2 4]
4.3 并集
print(np.union1d(arr1, arr2))
result:
[1 2 3 4 6 8]
4.4 差集
print(np.setdiff1d(arr1, arr2))
result:
[1 3]