创建array
-
array:创建数组
-
dtype:指定数据类型
import numpy as np
array = np.array([1, 2, 3], dtype=np.int)
print(array.dtype)
>>> int64
- zeros:创建数据全为0
- ones:创建数据全为1
- empty:创建数据接近0
import numpy as np
a = np.zeros((3, 4)) # 创建全0矩阵,注意括号
print(a)
b = np.ones((3, 4)) # 创建全1数组
print(b)
c = np.empty((3, 4)) # 创建接近0的数组
print(c)
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
[[-3.10503618e+231 -3.10503618e+231 -3.95252517e-323 0.00000000e+000]
[ 2.12199579e-314 0.00000000e+000 0.00000000e+000 0.00000000e+000]
[ 1.75871011e-310 3.50977866e+064 0.00000000e+000 3.25938554e-311]]
- arrange:按指定范围创建数据
import numpy as np
a = np.arange(2, 10, 2) # 输出 [2,10)步长为2的连续数组
print(a)
>>> [2 4 6 8]
- reshape: 改变数据形状
import numpy as np
a = np.arange(2, 10, 2).reshape(2, 2)
print(a)
>>>
[[2 4]
[6 8]]
基本运算
- 求和最大最小平均
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5]])
print('sum', a.sum()) # sum
print('max', a.max()) # 最大值
print('min', a.min()) # 最小值
print('mean', a.mean()) # 均值
输出:
sum 18
max 5
min 1
mean 3.0
- 矩阵行求和 axis=1,矩阵列求和 axis=0
当axis的值为0的时候,将会以列作为查找单元, 当axis的值为1的时候,将会以行作为查找单元。
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5]])
print(a)
print(a.sum(axis=1))
print(a.sum(axis=0))
output:
[[1 2 3]
[3 4 5]]
[ 6 12]
[4 6 8]
- 矩阵乘法
import numpy as np
a = np.array([[5, 2], [3, 4]])
b = np.array([[1, 2], [7, 8]])
print(a)
print(b)
print(a*b) # 对应位置的元素相乘
print(a.dot(b)) # 矩阵乘法
print(np.dot(a, b)) # 矩阵乘法,同上
输出:
[[5 2]
[3 4]]
[[1 2]
[7 8]]
[[ 5 4]
[21 32]]
[[19 26]
[31 38]]
[[19 26]
[31 38]]
- 矩阵乘方
a = np.array([[5, 2, 4, 6], [3, 4, 4, 5]])
print(a**2)
输出:
[[25 4 16 36]
[ 9 16 16 25]]
- 矩阵转置矩阵转置
import numpy as np
a = np.array([[5, 2, 4, 6], [3, 4, 4, 5]])
print(a)
print(a.T)
print(np.transpase(a)) # 同上
输出:
[[5 2 4 6]
[3 4 4 5]]
[[5 3]
[2 4]
[4 4]
[6 5]]
- 矩阵判断
import numpy as np
a = np.array([[5, 2, 4, 6], [3, 4, 4, 5]])
print(a > 4)
print(a == 4)
[[ True False False True]
[False False False True]]
[[False False True False]
[False True True False]]
-
argmin() 和 argmax()
求矩阵中最小元素和最大元素的索引 -
cumsum() 函数
生成的每一项矩阵元素均是从原矩阵首项累加到对应项的元素之和 -
sort() 函数
对每一行元素进行从小到大的排序 -
clip() 函数
这个函数的格式是clip(Array,Array_min,Array_max),顾名思义,Array指的是将要被执行用的矩阵,而后面的最小值最大值则用于让函数判断矩阵中元素是否有比最小值小的或者比最大值大的元素,并将这些指定的元素转换为最小值或者最大值。
import numpy as np
a = np.array([[5, 2, 4, 6], [3, 4, 4, 5]])
print(np.clip(a, 3, 5))
输出:
[[5 3 4 5]
[3 4 4 5]]
numpy基本操作
维度:ndim
行数和列数:shape
元素个数:size
import numpy as np
array = np.array([[1, 2, 3], [1, 3, 4], [3, 4, 5]]) # 注意括号
print(array)
print('dim:', array.ndim) # 维度
print('shape:', array.shape) # 行数和列数
print('size:', array.size) # 元素个数
输出:
[[1 2 3]
[1 3 4]
[3 4 5]]
dim: 2
shape: (3, 3)
size: 9