import numpy as np
x = np.array([[1,2,3],[-3,2,4],[5,-2,9]])
x
array([[1,2,3],[-3,2,4],[5,-2,9]])
x1 = x.copy()# copy(),开辟新地址
x1[x1 >0]=0
x1
array([[0,0,0],[-3,0,0],[0,-2,0]])
x # x不变
array([[1,2,3],[-3,2,4],[5,-2,9]])
x2 = x # 直接等于,未开辟新地址,x2与x相关联
x2
array([[1,2,3],[-3,2,4],[5,-2,9]])
x2[x2>0]=0
x2
array([[0,0,0],[-3,0,0],[0,-2,0]])
x # x也改变
array([[0,0,0],[-3,0,0],[0,-2,0]])
x = np.array([[1,2,3],[-3,2,4],[5,-2,9]])
x3 = x[2]# 取x的第3行
x3
array([5,-2,9])
x3[2]=100# 将x3第3个元素置100
x # x中对应的元素置也被置成100了
array([[1,2,3],[-3,2,4],[5,-2,100]])
import numpy as np
n = np.random.rand(3,4)
n
array([[0.11502462,0.3503468,0.6206656,0.35172063],[0.66367565,0.10195004,0.22708003,0.9318615],[0.77946053,0.81804715,0.2272248,0.17736476]])
import numpy as np
x = np.random.randn(2,3)
x
array([[-0.09382672,-0.97939614,0.0222352],[0.15060188,-0.01107968,1.08374427]])
y = np.multiply(0.1,np.random.randn(2,3))+0.5# 一般正太分布
y
array([[0.49305173,0.36802044,0.48699281],[0.45197275,0.53837051,0.60022348]])
import numpy as np
z = np.random.randint(2,9,(2,3))
z
array([[2,3,6],[8,2,8]])
m = np.random.randint(9,size =(2,3))
m
array([[4,0,2],[5,2,8]])
x = ‘You are right’
type(x)<class ‘str’>asserttype(x)==str, ‘x isnotstr’
x =[1,2,3]type(x)<class ‘list’>asserttype(x)==str, ‘x isnotstr’
Traceback (most recent call last):
File “”, line 1,in
AssertionError: x isnotstr
import numpy as np
A = np.arange(95,99).reshape(2,2)
A
array([[95,96],[97,98]])
np.pad(A,((3,2),(2,3)),‘constant’,constant_values =(0,0))
array([[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,95,96,0,0,0],[0,0,97,98,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]])
说明: 在矩阵行的上部分添加3行,下部分添加2行,在列的左部分添加2列,右部分添加3列。
b = np.array([[[1,2],[3,4]],[[3,4],[7,8]],[[4,5],[1,2]]])
b
array([[[1,2],[3,4]],[[3,4],[7,8]],[[4,5],[1,2]]])12345
np.pad(b,((0,0),(1,1),(1,1)), ‘constant’, constant_values =0)
array([[[0,0,0,0],[0,1,2,0],[0,3,4,0],[0,0,0,0]],[[0,0,0,0],[0,3,4,0],[0,7,8,0],[0,0,0,0]],[[0,0,0,0],[0,4,5,0],[0,1,2,0],[0,0,0,0]]])
import numpy as np
c = np.array([[1,2],[3,4]])
c
array([[1,2],[3,4]])
c.astype(np.float32)
array([[1.,2.],[3.,4.]], dtype=float32)
np.meshgrid() 快速生成网格
meshgrid(x,y) 可用于快速生成由于 x轴坐标 x 和 y 轴坐标 y 组合的网格点
import numpy as np
x = np.array([1,3,5])
y = np.array([4,6])
XX,YY = np.meshgrid(x,y)
XX
array([[1,3,5],[1,3,5]])
YY
array([[4,4,4],[6,6,6]])
import numpy as np
x = np.array([[3,4,5],[1,3,4]])
y = np.array([[1,1,1],[2,2,2]])
np.hstack((x,y))# 水平堆叠
array([[3,4,5,1,1,1],[1,3,4,2,2,2]])
np.vstack((x,y))# 竖直堆叠
array([[3,4,5],[1,3,4],[1,1,1],[2,2,2]])
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
a = np.array([[1,2,3,6],[4,5,6,6]])
a1 = a.reshape((1,2,4))
a1
array([[[1,2,3,6],[4,5,6,6]]])
b = np.array([[3,4,5,6],[1,2,3,4],[4,5,5,5]])
b
array([[3,4,5,6],[1,2,3,4],[4,5,5,5]])
b1 = b.reshape((1,3,4)).transpose((1,0,2))
b1
array([[[3,4,5,6]],