二维数组:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) for x in arr: print(x)三维数组:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) for x in arr: print("x represents the 2-D array:") print(x)使用 nditer() 迭代数组: 函数 nditer() 是一个辅助函数,从非常基本的迭代到非常高级的迭代都可以使用,可用于迭代任意维度的每个标量元素
import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) for x in np.nditer(arr): print(x)更多见NumPy 数组迭代
数组拼接是指将同shape的数组垂直或者水平组合起来,函数主要是np.vstack(垂直方向),np.hstack(水平方向),np.concatenate
其中np.concatenate可以代替前两者的作用(一维数组除外) 对于一维数组而言,np.concatenate不可以做到垂直拼接
沿着竖直方向将矩阵堆叠起来 除开第一维外,被堆叠的矩阵各维度要一致
import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) result = np.vstack((arr1, arr2)) print(result) [[1 2 3] [4 5 6]]对于一维数组,np.concatenate不能沿着竖直方向将矩阵堆叠起来
np.concatenate,axis=0 除开第一维外,被堆叠的矩阵各维度要一致 import numpy as np arr1 = np.array([[1, 2, 3]]) arr2 = np.array([[4, 5, 6]]) result = np.concatenate((arr1, arr2),axis=0) result1=np.vstack((arr1,arr2)) print(result) print("--------") print(result1) [[1 2 3] [4 5 6]] -------- [[1 2 3] [4 5 6]]沿着水平方向将数组堆叠起来 除开第二维外,被堆叠的矩阵各维度要一致
np.concatenate,axis=1 除开第二维外,被堆叠的矩阵各维度要一致 import numpy as np arr1 = np.array([[1, 2, 3]]) arr2 = np.array([[4, 5, 6]]) result = np.concatenate((arr1, arr2),axis=1) result1=np.hstack((arr1,arr2)) print(result) print("--------") print(result1) [[1 2 3 4 5 6]] -------- [[1 2 3 4 5 6]] import numpy as np arr1 = np.array([[1,2,3], [3,4,7]]) arr2 = np.array([[4, 5], [6,7]]) result = np.concatenate((arr1, arr2),axis=1) result1=np.hstack((arr1,arr2)) print(result) print("--------") print(result1) [[1 2 3 4 5] [3 4 7 6 7]] -------- [[1 2 3 4 5] [3 4 7 6 7]]numpy.clip(a, a_min, a_max, out=None) 其中a是一个array数组,后面两个参数分别表示最小和最大值 clip这个函数作用就是将数组中的元素限制在a_min, a_max之间,大于a_max的就使得它等于 a_max,小于a_min,的就使得它等于a_min
import numpy as np x=np.array([1,2,3,5,6,7,8,9]) result=np.clip(x,2,6) print(result) [2 2 3 5 6 6 6 6]