نمپی آرری چکر

ਮੰਡਲ ਸਰਕੂਲੇਸ਼ਨ

ਸਰਕੂਲੇਸ਼ਨ ਮਤਲਬ ਹਰੇਕ ਐਲੀਮੈਂਟ ਨੂੰ ਇੱਕ-ਇੱਕ ਨਾਲ ਸਰਕੂਲੇਸ਼ਨ

ਜਦੋਂ ਅਸੀਂ numpy ਵਿੱਚ ਮਲਟੀ-ਡਿਮੈਨਸ਼ਨਲ ਮੰਡਲ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਾਂ ਤਾਂ ਅਸੀਂ python ਦੇ ਮੁੱਢਲੇ for ਸਰਕੂਲੇਸ਼ਨ ਨੂੰ ਵਰਤ ਸਕਦੇ ਹਾਂ ਤਾਕਿ ਇਹ ਕੰਮ ਕਰ ਸਕੇ。

ਜੇਕਰ ਅਸੀਂ 1-D ਮੰਡਲ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ ਕਰਦੇ ਹਾਂ ਤਾਂ ਇਹ ਇੱਕ-ਇੱਕ ਨਾਲ ਸਰਕੂਲੇਸ਼ਨ ਕਰੇਗਾ。

实例

ਇੱਕ ਮੁੱਖ ਮੰਡਲ ਦੇ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ

import numpy as np
arr = np.array([1, 2, 3])
for x in arr:
  print(x)

运行实例

2-D ਮੰਡਲ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ

2-D ਮੰਡਲ ਵਿੱਚ ਇਹ ਸਾਰੇ ਰੋਜ਼ਾਂ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ ਕਰੇਗਾ。

实例

ਹੇਠ ਲਿਖੇ ਦੋ-ਮੁੱਖ ਮੰਡਲ ਦੇ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x in arr:
  print(x)

运行实例

ਜੇਕਰ ਅਸੀਂ n-D ਮੰਡਲ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ ਕਰਦੇ ਹਾਂ ਤਾਂ ਇਹ ਇੱਕ-ਇੱਕ ਨਾਲ ਪਹਿਲਾਂ ਦੇ n-1 ਅਕਸਰ ਵਿੱਚ ਸਰਕੂਲੇਸ਼ਨ ਕਰੇਗਾ。

ਜੇਕਰ ਅਸੀਂ ਅਸਲ ਮੁੱਲ ਜਾਂ ਸਕੇਲਰ ਵਾਪਸ ਲੈਣਾ ਚਾਹੁੰਦੇ ਹਾਂ ਤਾਂ ਹਰੇਕ ਅਕਸਰ ਵਿੱਚ ਮੰਡਲ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ。

实例

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 ਮੰਡਲਾਂ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ ਕਰੇਗਾ。

实例

ਹੇਠ ਲਿਖੇ 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)

运行实例

ਜੇਕਰ ਅਸੀਂ ਅਸਲ ਮੁੱਲ ਜਾਂ ਸਕੇਲਰ ਵਾਪਸ ਲੈਣਾ ਚਾਹੁੰਦੇ ਹਾਂ ਤਾਂ ਹਰੇਕ ਅਕਸਰ ਵਿੱਚ ਮੰਡਲ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ。

实例

ਸਕੇਲਰ ਤੱਕ ਸਰਕੂਲੇਸ਼ਨ

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() ਇੱਕ ਸਹਾਇਕ ਫੰਕਸ਼ਨ ਹੈ ਜੋ ਮੁੱਢਲੇ ਤੋਂ ਲੈ ਕੇ ਅਧਿਕਤਮ ਸਰਕੂਲੇਸ਼ਨ ਤੱਕ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਇਹ ਸਰਕੂਲੇਸ਼ਨ ਵਿੱਚ ਸਾਨੂੰ ਮੁਸ਼ਕਿਲ ਲੱਗਣ ਵਾਲੇ ਕੁਝ ਮੁੱਢਲੇ ਪ੍ਰਸ਼ਨਾਂ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ ਅਤੇ ਅਸੀਂ ਉਦਾਹਰਣ ਰਾਹੀਂ ਇਸ ਦੀ ਪ੍ਰਸਤੁਤੀ ਕਰਾਂਗੇ。

ਹਰੇਕ ਸਕੇਲਰ ਐਲੀਮੈਂਟ ਦੀ ਸਰਕੂਲੇਸ਼ਨ

ਮੁੱਢਲੇ for ਸਰਕੂਲੇਸ਼ਨ ਵਿੱਚ ਮੰਡਲ ਦੇ ਹਰੇਕ ਸਕੇਲਰ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ ਕਰਨ ਲਈ ਅਸੀਂ n ਨੂੰ ਵਰਤਣਾ ਹੋਵੇਗਾ for ਸਰਕੂਲੇਸ਼ਨ ਵਿੱਚ ਹਾਈ-ਡਿਮੈਨਸ਼ਨਲ ਮੰਡਲਾ ਲਈ ਸਰਕੂਲੇਸ਼ਨ ਲਿਖਣਾ ਮੁਸ਼ਕਿਲ ਹੋ ਸਕਦਾ ਹੈ。

实例

ਹੇਠ ਲਿਖੇ 3-D ਮੰਡਲਾ ਨੂੰ ਸਰਕੂਲੇਸ਼ਨ ਕਰੋ:

import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
for x in np.nditer(arr):
  print(x)

运行实例

ਵੱਖ-ਵੱਖ ਡੇਟਾ ਟਾਈਪ ਦੇ ਮੰਡਲਾਂ ਦੀ ਸਰਕੂਲੇਸ਼ਨ

ਅਸੀਂ ਇਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ op_dtypes 参数,ਅਤੇ ਉਮੀਦ ਵਾਲੇ ਡੇਟਾ ਟਾਈਪ ਨੂੰ ਪਾਸ ਕਰੋ ਤਾਕਿ ਸਰਕੂਲੇਸ਼ਨ ਵਿੱਚ ਐਲੀਮੈਂਟ ਦਾ ਡੇਟਾ ਟਾਈਪ ਬਦਲ ਸਕੇ。

NumPy 不会就地更改元素的数据类型(元素位于数组中),因此它需要一些其他空间来执行此操作,该额外空间称为 buffer,为了在 nditer() 中启用它,我们传参 flags=['buffered']

实例

以字符串形式遍历数组:

import numpy as np
arr = np.array([1, 2, 3])
for x in np.nditer(arr, flags=['buffered'], op_dtypes=['S']):
  print(x)

运行实例

以不同的步长迭代

我们可以使用过滤,然后进行迭代。

实例

每遍历 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)

运行实例

使用 ndenumerate() 进行枚举迭代

枚举是指逐一提及事物的序号。

有时,我们在迭代时需要元素的相应索引,对于这些用例,可以使用 ndenumerate() 方法。

实例

枚举以下 1D 数组元素:

import numpy as np
arr = np.array([1, 2, 3])
for idx, x in np.ndenumerate(arr):
  print(idx, x)

运行实例

实例

枚举以下 2D 数组元素:

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)

运行实例