数学和统计方法
- sum 对数组中全部或某轴向的元素求和。零长度的数组的sum为0。
- mean 算术平均数。零长度的数组的mean为NaN。
import numpy as np
import numpy.random as np_random
arr = np.random.randn(5,4)
print(arr)
print(arr.sum()) #求总和:所有元素相加
print(arr.mean()) #求平均值:所有元素相加后除以元素总数
print(arr.mean(axis=1))
print(arr.cumsum(0))
- std, var 分别为标准差和方差,*度可调(默认为n)。
- min, max 最大值和最小值
- argmin 分别为最大值和最小值的索引
- cumsum 所有元素的累计和
- cumprod 所有元素的累计积
Any、All测试布尔型数组
bools = np.array([False,True,False,False])
print(bools.any()) #有一个为True就返回True
print(bools.all()) #所有为True返回True
sort排序
arr = np_random.randn(8)
arr.sort()
print(arr)
arr = np_random.randn(5,3)
arr.sort(1) #指定轴排序
去重与其他集合运算
- unique(x) 计算x中的唯一元素,并返回有序结果。
- intersect1d(x, y) 计算x和y中的公共元素,并返回有序结果。
- union1d(x, y) 计算x和y的并集,并返回有序结果。
- in1d(x, y) 得到一个表述"x的元素是否包含于y"的布尔型数组
- setdiff1d(x, y) 集合的差,即元素在x中且不在y中
- setxor1d(x, y) 集合的异或,即存在于一个数组中但不同时存在于两个数组中的元素。
names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
print(np.unique(names)) #Bob', 'Joe', 'Will'
ints = np.array([3, 3, 3, 2, 2, 1, 1, 4, 4])
print(np.unique(ints)) #1 2 3 4
#'查找数组元素是否在另一数组'
values = np.array([6, 0, 0, 3, 2, 5, 6])
print(np.in1d(values, [2, 3, 6]))