1、用np.r_[]与np.c_[]将数组按行与列连接
importnumpy as np
a=np.array([1,2,3])
b=np.array([4,5,6])
c=np.c_[a,b] #按行连接
d=np.r_[a,b] #按列连接
print(c)print(d)'''结果为:
[[1 4]
[2 5]
[3 6]]
[1 2 3 4 5 6]'''
2、用np.meshgrid()生成网格点坐标,可以用于等高线图
importnumpy as np
a= np.array([0, 1]) #横坐标范围
b = np.array([2, 3, 4]) #纵坐标范围
x, y = np.meshgrid(a, b) #生成网格点坐标
print('x:',x) #输出网格点的x坐标
print('y:',y) #输出网格点的y坐标
'''结果:
x: [[0 1]
[0 1]
[0 1]]
y: [[2 2]
[3 3]
[4 4]]'''
3、np.ravel()和np.flatten()将数组降为1维,区别是np.ravel()返回视图,np.flatten()返回一份拷贝。另外可以直接调用数组array类的方法array.ravel()和array.flatten()来达到效果。
importnumpy as np
a= np.array([[0, 1],[2,3]])
b=a.ravel() #调用类的方法
c=np.ravel(a) #调用函数
print('b:',b)print('c:',c)'''结果:
b: [0 1 2 3]
c: [0 1 2 3]'''
4、np.where(condition,x,y),用法1:设置参数x、y,若满足condition的元素替换为x,否则替换为y,作用于array的每一个元素;用法2:没有设置x、y,以array类型返回满足condition的元素在array中的位置。
importnumpy as np
x=np.arange(9)print('<4的元素替换为0,否则替换为0:',np.where(x<4,0,1))print('以array返回<4的元素位置:',np.where(x<4))'''结果:
<4的元素替换为0,否则替换为0: [0 0 0 0 1 1 1 1 1]
以array返回<4的元素位置: (array([0, 1, 2, 3], dtype=int64),)'''