Iteration ya Array ya NumPy
- Pya Zaidi Ukumitaa Array ya NumPy
- Pya Zaidi Kungawanda Array ya NumPy
数组迭代
迭代意味着逐一遍历元素。
当我们在 numpy 中处理多维数组时,可以使用 python 的基本 for 循环来完成此操作。
如果我们对 1-D 数组进行迭代,它将逐一遍历每个元素。
Mfano
迭代以下一维数组的元素:
import numpy as np arr = np.array([1, 2, 3]) for x in arr: print(x)
迭代 2-D 数组
在 2-D 数组中,它将遍历所有行。
Mfano
迭代以下二维数组的元素:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) for x in arr: print(x)
如果我们迭代一个 n-D 数组,它将逐一遍历第 n-1 维。
如需返回实际值、标量,我们必须迭代每个维中的数组。
Mfano
迭代 2-D 数组的每个标量元素:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) for x in arr: for y in x: print(y)
迭代 3-D 数组
在 3-D 数组中,它将遍历所有 2-D 数组。
Mfano
迭代以下 3-D 数组的元素:
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)
要返回实际值、标量,我们必须迭代每个维中的数组。
Mfano
迭代到标量:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) for x in arr: for y in x: for z in y: print(z)
使用 nditer() 迭代数组
函数 nditer()
是一个辅助函数,从非常基本的迭代到非常高级的迭代都可以使用。它解决了我们在迭代中面临的一些基本问题,让我们通过例子进行介绍。
kumtaarifu kwa kipimo cha data zaidi kwa kusoma kwa kipimo cha data zaidi
kwa kumtaarifu kwa kipimo cha data zaidi kwa
kwa kumtaarifu kwa kipimo cha data zaidi, tumezaa kusoma kwa kipimo cha data zaidi kwa kusoma kwa kipimo cha data zaidi. kwa
kumtaarifu kwa kipimo cha data zaidi inaweza kuwa kwa kusoma kwa kuzungumza kwa kipimo cha data zaidi.
Mfano
kumtaarifu kwa 3-D array:
import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) kwa x ina np.nditer(arr): print(x)
kumtaarifu kwa kipimo cha data zaidi
Wenyezea kuwa na op_dtypes
参数,naikaonesha data type, kwa kusoma kila elementi ya data kwa kubadilisha spesi ya data kwenye msaada.
NumPy 不会就地更改元素的数据类型(元素位于数组中),因此它需要一些其他空间来执行此操作,该额外空间称为 buffer,为了在 nditer()
中启用它,我们传参 flags=['buffered']
。
Mfano
以字符串形式遍历数组:
import numpy as np arr = np.array([1, 2, 3]) for x in np.nditer(arr, flags=['buffered'], op_dtypes=['S']): print(x)
以不同的步长迭代
我们可以使用过滤,然后进行迭代。
Mfano
每遍历 2D 数组的一个标量元素,跳过 1 个元素:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) for x in np.nditer(arr[:, ::2]): print(x)
Kusoma kwa ndenumerate() kwa kusoma
Kueneza ni kueleza kila kitu kwa kumieleza kwa mifano ya kumieleza.
Mwana, tupeleka kwa kusoma kwa mifano ya kusoma kwa kusoma, kwa mifano hizi inaweza kutumika ndenumerate()
Method.
Mfano
Kueneza elementi za jukwaa 1D hizo:
import numpy as np arr = np.array([1, 2, 3]) for idx, x in np.ndenumerate(arr): print(idx, x)
Mfano
Kueneza elementi za jukwaa 2D hizo:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) for idx, x in np.ndenumerate(arr): print(idx, x)
- Pya Zaidi Ukumitaa Array ya NumPy
- Pya Zaidi Kungawanda Array ya NumPy