这里主要介绍numpy包。
ndarray(数组)
N维数组对象ndarray,是numpy中最重要的一个对象。
创建ndarray
用array
函数
import numpy as nu
data = np.array([[1, 2], [3, 4]])
type(data)
#<class 'numpy.ndarray'>
data.dtype
#dtype('int64')
data.shape
#(2, 2)
#显式说明数据类型
data_1 = np.array([[1, 2], [3, 4]], dtype=np.float64)
data_1.dtype
#dtype('float64')
除非显式的说明(dtype=),np.array会换成那个是为新建的这个数组推断出一个较为合适的数据类型。数据类型保存在一个特殊的dtype对象中。
array函数创建一个nparray对象,此对象属性有
属性 | 说明 |
---|---|
dtype | 数据类型 |
shape | 形状/维数 |
trace() | 迹 |
dot(ndarray) | 矩阵乘法 |
transpose() | 转置 |
数组创建函数
函数 | 说明 |
---|---|
array() | – |
arange() | 类似range(),但返回的是一个ndarray而不是一个列表。 |
ones()、ones_like() | 创建全为1的数组 |
zeros(),zeros_like() | 创建全为0的数组 |
empty(),empty_like() | 创建新数组,只分配内存空间,不填充任何值 |
eye(),identity() | 创建N维单位阵 |
数组索引和切片
数组切片是原数组的一个试图,对此切片的修改会反映到原数组上
import numpy as np
x = np.arange(10)
x
#array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x[0:4] = 0
x
#array([0, 0, 0, 0, 4, 5, 6, 7, 8, 9])
numpy函数
函数 | 说明 |
---|---|
abs(x),fabs(x) | |x| , 对于非复数值,fabs()更快 |
sqrt(x) | x√ |
square(x) | x2 |
exp(x) | ex |
log(), log10(), log2(), log1p() | ln(x) , lg(x) , log2(x) , ln(x+1) |
sign(x) | x 的符号, 1, 0, -1 |
ceil(x) | 大于该值的最小整数 |
floor(x) | 小于该值的最大整数 |
round(x), rint(x) | 四舍五入取整,保留dtype |
modf(x) | 小数部分和整数部分分别返回 |
isnan(x) | 是否为NaN |
isfinite(x), isinf(x) | 有穷,无穷 |
sin(x), cos(x), tan(x), sinh(x), cosh(x), tanh(x) | 三角 |
arcsin(x)… | 反三角 |
logical_not(x) | 计算not x的真值 |
sum() | … |
mean() | … |
std() | … |
var() | … |
min() | … |
max() | … |
argmax() | 最大元素索引 |
argmin() | … |
sumsum() | 累计和 |
cumprod() | 累计积 |
sort() | 排序 |
注意:顶级方法np.sort()返回排序后的副本,x.sort()就地排序
常量 | 说明 |
---|---|
pi | |
nan | NaN |
e | e |
注意:常量均为数值
函数 | 说明 |
---|---|
add(x, y) | |
subtract(x, y) | x−y |
multiply(x, y) | x∗y |
divide(x, y), floor_divide(x, y) | x/y ,丢弃小数部分 |
power(x, y) | xy |
maximum(x), fmax(x) | 计算最大值, 忽略NaN |
minimum(x), fmin(x) | 计算最小值, 忽略NaN |
mod(x, y) | x/y取模,余数 |
copysign(x, y) | 将y的值的符号复制给x的值 |
greater(x, y), greater_equal(x, y) | x>y, x>=y |
less(x, y), less_equal(x, y) | … |
equal(x, y), not_equal() | … |
logical_and(x, y) | 元素级真值逻辑运算 |
logical_or(x, y) | … |
logical_xor(x, y) | … |
集合运算
函数 | 说明 |
---|---|
unique(x) | x中唯一元素 |
intersect1d(x, y) | x,y公共元素 |
union(x, y) | x, y并集 |
in1d(x, y) | 返回‘x的元素是否包含于y’的布尔型数组 |
setdiff1d(x, y) | 集合的差, x-y |
setxor1d(x, y) | 亦或,存在于一个数组中,但不同时存在于两个数组中 |