1.tf.where()
条件语句为真返回A,条件语句为真返回B
tf.where(条件语句,真返回A,假返回B)
import tensorflow as tf
a = tf.constant([1,2,3,1,1])
b = tf.constant([0,1,3,4,5])
c = tf.where(tf.greater(a,b),a,b) # 若 a>b,返回a对应位置的元素,否则返回b对应位置的元素
print("c:",c)
# c: tf.Tensor([1 2 3 4 5], shape=(5,), dtype=int32)
2.np.random.RandomState.rand()
返回一个[0,1)之间的随机数
np.random.RandomState.rand(维度) 维度为空,返回标量
import numpy as np
rdm = np.random.RandomState(seed=1) # seed= 常数 每次生成随机数相同
a = rdm.rand() # 返回一个随机标量
b = rdm.rand(2,3) # 返回一个维度为2行三列的随机数矩阵
print("a:",a)
print("b:",b)
#a: 0.417022004702574
#b: [[7.20324493e-01 1.14374817e-04 3.02332573e-01]
[1.46755891e-01 9.23385948e-02 1.86260211e-01]]
3.np.vstack()
将两个数组按垂直方向叠加
np.vstack(数组1,数组2)
import numpy as np
a = np.array([1,2,3])
b = np.array([4,5,6])
c = np.vstack((a,b)) #双括号里面的括号看成一个整体
print("c:\n",c)
#c:
[[1 2 3]
[4 5 6]]
4.np.mgrid[ ] .ravel( ) np.c_[ ]
np.mgrid[起始值:结束值:步长,起始值:结束值:步长,…… ]
x.ravel( ) 将x变为一维数组,即把.前的变量拉直
np.c_[ ]使返回的间隔数值点配对, np.c_[数组1,数组2,……]
import numpy as np
x,y =np.mgrid[1:3:1,2:4:0.5]
X = x.ravel()
Y = y.ravel()
grid=np.c_[X,Y]
print("x:",x)
print("y:",y)
print("X:",X)
print("Y:",Y)
print("grid:\n",grid)
结果:
x: [[1. 1. 1. 1.]
[2. 2. 2. 2.]]
y: [[2. 2.5 3. 3.5]
[2. 2.5 3. 3.5]]
X: [1. 1. 1. 1. 2. 2. 2. 2.]
Y: [2. 2.5 3. 3.5 2. 2.5 3. 3.5]
grid:
[[1. 2. ]
[1. 2.5]
[1. 3. ]
[1. 3.5]
[2. 2. ]
[2. 2.5]
[2. 3. ]
[2. 3.5]]