概要
numpy库是python语言处理矩阵运算常用的工具,本文对其常用命令进行简单的介绍。
前置操作
import numpy as np
命令
array[创建数组]
一维数组
a = np.array([2,3,4])
二维数组
b = np.array([(1.5,2,3), (4,5,6)])
zeros,ones,empty[初始化数组]
np.zeros( (3,4) )
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
np.ones( (2,3,4), dtype=np.int16 ) # dtype can also be specified
array([[[ 1, 1, 1, 1],
[ 1, 1, 1, 1],
[ 1, 1, 1, 1]],
[[ 1, 1, 1, 1],
[ 1, 1, 1, 1],
[ 1, 1, 1, 1]]], dtype=int16)
np.empty( (2,3) ) # uninitialized, output may vary
array([[ 3.73603959e-262, 6.02658058e-154, 6.55490914e-260],
[ 5.30498948e-313, 3.14673309e-307, 1.00000000e+000]])
reshape[改变列表的结构]
a = np.arange(6) # 1d array
print(a)
[0 1 2 3 4 5]
b = np.arange(12).reshape(4,3) # 2d array
print(b)
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
c = np.arange(24).reshape(2,3,4) # 3d array
print(c)
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
delete[删除任意行|列]
有以下3个参数:
- arr:输入数组
- obj:指定要通过的整数,切片或者列表(数组)删除的行号/列号
- axis:要删除的轴
a = np.arange(12).reshape(3, 4)
print(a)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
删除一行
a_del = np.delete(a, 1, 0)
print(a_del)
# [[ 0 1 2 3]
# [ 8 9 10 11]]
删除一列
print(np.delete(a, 1, 1))
# [[ 0 2 3]
# [ 4 6 7]
# [ 8 10 11]]
删除多行
指定列表 -- 在列表中指定想要删除的行号或列号
print(np.delete(a, [0, 3], 1))
# [[ 1 2]
# [ 5 6]
# [ 9 10]]
指定切片 -- 指定切片的范围,从而指定多个行或列
print(np.delete(a, slice(1, 3), 1))
# [[ 0 3]
# [ 4 7]
# [ 8 11]]
argwhere[满足条件的索引]
x = np.arange(6).reshape(3,2)
x
array([[0, 1],
[2, 3],
[4, 5]])
np.argwhere(x[:,0]>1) # 第一个参数表示从第一行到最后一行,第二个参数表示第一个元素
array([[1],
[2]])
ravel[多维数组转换为一维数组]
a = np.array([[2,3],[4,5]])
a
array([[2, 3],
[4, 5]])
a.ravel()
array([2, 3, 4, 5])
shape[数组的维度]
a = np.array([[2,3,4],[4,5,6]])
a.shape
(2, 3)
>>> a.shape[0]
2
>>> a.shape[1]
3
mean[求取平均值]
a = np.array([[1, 2], [3, 4]])
a
array([[1, 2],
[3, 4]])
np.mean(a) # 全局均值
2.5
np.mean(a, axis=0) # axis=0,计算每一列的均值
array([ 2., 3.])
np.mean(a, axis=1) # 计算每一行的均值
array([ 1.5, 3.5])
diff[计算差值]
A = np.arange(2 , 14).reshape((3 , 4))
A[1,1] = 8
A
array([[ 2, 3, 4, 5],
[ 6, 8, 8, 9],
[10, 11, 12, 13]])
np.diff(A,axis=0)
array([[4, 5, 4, 4],
[4, 3, 4, 4]])
np.diff(A,axis=1)
array([[1, 1, 1],
[2, 0, 1],
[1, 1, 1]])