import numpy as np
array = np.array([[1,2,3],
[2,3,4])
print(array)
[[1 2 3]
[2 3 4]]
//(输出结果中无逗号)
print('number of dim:'array.ndim)
number of dim: 2
print('shape:', array.shape)
shape: (2,3)
print('size:', array.size)
size: 6
import numpy as np
a = np.array([2,23,4], dtype=np.int)
print(a.dtype)
int64
//(不输入数据长度时默认为64位)
import numpy as np
a = np.array([2,23,4], dtype=np.int32)
print(a.dtype)
int32
a = np.zero( (3,4) )
print(a)
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
(2)全1矩阵:
a = np.ones( (3,4), dtype=np.int16 )
print(a)
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
(3)空矩阵:
a = np.empty( (3,4) )
print(a)
[[6.23042070e-307 1.89146896e-307 1.37961302e-306 1.05699242e-307]
[8.01097889e-307 1.78020169e-306 7.56601165e-307 1.02359984e-306]
[1.29060531e-306 1.24611741e-306 1.11261027e-306 3.01468662e+161]]
//(是十分接近0的数)
a = np.arange(10,20,2)
print(a)
b = np.arange(12).reshape((3,4))
print(b)
[10 12 14 16 18]
[[0 1 2 3]
[4 5 6 7]
[8 9 10 11]]
a = np.linspace(1,10,5)
print(a)
b = np.linspace(1,10,6).reshape((2,3))
print(b)
[1. 3.25 5.5 7.75 10.]
[[1. 2.8 4.6]
[6.4 8.2 10.]]
import namoy as np
a = np.array([10,20,30,40])
b = np.arange(4)
print(a,b)
c = a+b
print(c)
[10 20 30 40] [0 1 2 3]
[10 21 32 43]
c = b**2
print(c)
[0 1 4 9]
c = 10*np.cos(a)
print(c)
[-8.39071529 4.08082062 1.5425145 -6.66938062]
print(b)
print(b==3)
[0 1 2 3]
[False False False True]
a = np.array([[1,1],
[0,1]])
b = np.arrange(4).reshape(2,2)
c = a*b
print(c)
[[0 1]
[0 3]]
(2)矩阵相乘:
a = np.array([[1,1],
[0,1]])
b = np.arrange(4).reshape(2,2)
c_dot = np.dot(a,b)
//或:c_dot = a.dot(b)
print(c_dot)
[[2 4]
[2 3]
import numpy as np
a = np.random.random((2,4))
print(a)
print(np.sum(a))
[[0.54856051 0.75547687 0.97634788 0.03362161]
[0.03198332 0.70799137 0.07809093 0.76455108]]
3.8966235679462295
print(np.min(a))
0.03198332442659946
//可以在后面加axis限制计算范围(axis=0表示在列数中的结果,axis=1表示在行数中的结果)
print(np.max(a))
0.9763478806201845
A = np.arange(2,14).reshape((3,4))
print(np.argmin(A))
0
(2)输出最大值的索引
print(np.argmax(A))
11
(3)输出非零的数的位置(输出的 第一个array代表行数,第二个array代表列数)
print(np.nonzero(A))
(array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2], dtype=int64), array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], dtype=int64))
(4)一维序列索引
import numpy as np
A = np.arrange(3,15)
*输出结果:
6
(5)二维数组索引
A = np.arange(3,15).reshape((3,4))
print(A[2])
print(A[1][1])
print(A[2,1])
[11 12 13 14]
8
12
(6)用冒号输出所有数
print(A[:,1])
print(A[1, 1:3])
[4 8 12]
[8 9]
(7)用for迭代每一行的数
for row in A:
print (row)
[2 3 4 5]
[6 7 8 9]
[10 11 12 13]
(8)用for循环迭代每一列的数
for column in A.T:
print (column)
[ 2 6 10]
[ 3 7 11]
[ 4 8 12]
[ 5 9 13]
(9)迭代每一个项目
for item in A.flat:
print(item)
2
3
4
5
6
7
8
9
10
11
12
13
//方法1
print(np.mean(A))
//或:print(A.mean())
//方法2:
print(np.average(A))
7.5
print(np.median(A))
print(np.cumsum(A))
[ 2 5 9 14 20 27 35 44 54 65 77 90]
print(np.diff(A))
[[1 1 1]
[1 1 1]
[1 1 1]]
print(np.sort(A))
[[ 2 3 4 5]
[ 6 7 8 9]
[10 11 12 13]]
print(np.transpose(A))
//或:print(A.T)
//矩阵转置和矩阵相乘
print((A.T).dot(A))
[[ 2 6 10]
[ 3 7 11]
[ 4 8 12]
[ 5 9 13]]
[[140 158 176 194]
[158 179 200 221]
[176 200 224 248]
[194 221 248 275]]
print(np.clip(A,5,9))
[[5 5 5 5]
[6 7 8 9]
[9 9 9 9]]
import numpy as np
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A,B))
print(C)
print(A.shape, C.shape)
[[1 1 1]
[2 2 2]]
(3,) (2, 3)
A = np.array([1,1,1])
B = np.array([2,2,2])
D = np.hstack((A,B))
print(D)
print(A.shape, D.shape)
[1 1 1 2 2 2]
(3,) (6,)
(3)将横向序列转变为竖向序列:通过np.newaxis改变维度
A = np.array([1,1,1])
A = A[:, np.newaxis]
//或:A = np.array([1,1,1])[:, np.newaxis]
print(A)
[[1]
[1]
[1]]
(4)合并时定义合并的维度
A = np.array([1,1,1])[:, np.newaxis]
B = np.array([2,2,2])[:, np.newaxis]
C = np.concatenate((A,B,B,A),axis =1)
print(C)
[[1 2 2 1]
[1 2 2 1]
[1 2 2 1]]
import numpy as np
A = np.arange(12).reshape((3,4))
print(np.split(A,3,axis=0))
//或:print(np.vsplit(A,3))
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
(2)纵向分割
print(np.split(A,2,axis=1))
//或:print(np.hsplit(A,2))
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]
print(np.array_split(A,3,axis=0))
[array([[0, 1, 2, 3],
[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
(1)使用“=”赋值:当一个数组的值改变时,被赋值的任一数组的值相应改变
(2)若不想要这种关联性,则采用.copy()方法赋值