ਨੂਮੀ ਐਰਰੇ ਰੀਸ਼ਾਇਨ

ਮੰਡਲ ਬਦਲ

ਬਦਲ ਕੇ ਮੰਡਲ ਦਾ ਆਕਾਰ ਬਦਲਣਾ

ਮੰਡਲ ਦਾ ਆਕਾਰ ਹਰੇਕ ਅਕਾਰ ਵਿੱਚ ਆਈਟਮਾਂ ਦੀ ਸੰਖਿਆ ਹੈ。

ਬਦਲ ਕੇ, ਅਸੀਂ ਅਕਾਰ ਵਿੱਚ ਜੋੜ ਸਕਦੇ ਹਾਂ ਜਾਂ ਹਟਾ ਸਕਦੇ ਹਾਂ ਜਾਂ ਹਰੇਕ ਅਕਾਰ ਵਿੱਚ ਆਈਟਮਾਂ ਦੀ ਸੰਖਿਆ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹਾਂ。

1-D ਨੂੰ 2-D ਵਿੱਚ ਬਦਲਣਾ

ਇੰਸਟੈਂਸ

ਹੇਠ ਲਿਖੇ 12 ਤੋਂ ਘੱਟ ਇਲੈਕਟ੍ਰੌਨਿਕ ਆਈਟਮਾਂ ਵਾਲੇ 1-D ਮੰਡਲ ਨੂੰ 2-D ਮੰਡਲ ਵਿੱਚ ਬਦਲੋ:

ਸਭ ਤੋਂ ਬਾਹਰ ਦਾ ਅਕਾਰ 4 ਤੋਂ ਘੱਟ ਮੰਡਲ ਵਾਲਾ ਹੋਵੇਗਾ ਜਿਸ ਵਿੱਚ 3 ਤੋਂ ਘੱਟ ਆਈਟਮ ਹੋਣਗੇ:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newarr = arr.reshape(4, 3)
print(newarr)

ਰਨ ਇੰਸਟੈਂਸ

1-D ਨੂੰ 3-D ਵਿੱਚ ਬਦਲਣਾ

ਇੰਸਟੈਂਸ

ਹੇਠ ਲਿਖੇ 12 ਤੋਂ ਘੱਟ ਇਲੈਕਟ੍ਰੌਨਿਕ ਆਈਟਮਾਂ ਵਾਲੇ 1-D ਮੰਡਲ ਨੂੰ 3-D ਮੰਡਲ ਵਿੱਚ ਬਦਲੋ:

ਸਭ ਤੋਂ ਬਾਹਰ ਦਾ ਅਕਾਰ 2 ਤੋਂ ਘੱਟ ਮੰਡਲ ਵਾਲਾ ਹੋਵੇਗਾ ਜਿਸ ਵਿੱਚ 3 ਤੋਂ ਘੱਟ ਮੰਡਲ ਹੋਣਗੇ, ਜਿਸ ਵਿੱਚ 2 ਤੋਂ ਘੱਟ ਆਈਟਮ ਹੋਣਗੇ:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newarr = arr.reshape(2, 3, 2)
print(newarr)

ਰਨ ਇੰਸਟੈਂਸ

ਅਸੀਂ ਕਿਸੇ ਵੀ ਆਕਾਰ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹਾਂ?

ਹਾਂ, ਜਦੋਂ ਤਕ ਬਦਲਣ ਲਈ ਜ਼ਰੂਰੀ ਆਈਟਮ ਦੋਹਾਂ ਆਕਾਰਾਂ ਵਿੱਚ ਮੁਤਾਬਕ ਹਨ。

ਅਸੀਂ 8 ਤੋਂ ਘੱਟ ਇਲੈਕਟ੍ਰੌਨਿਕ ਆਈਟਮਾਂ ਵਾਲੇ 1D ਮੰਡਲ ਨੂੰ 2 ਵਰਗਾਂ ਵਾਲੇ 2D ਮੰਡਲ ਵਿੱਚ 4 ਤੋਂ ਘੱਟ ਆਈਟਮਾਂ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹਾਂ, ਪਰ ਅਸੀਂ ਇਸ ਨੂੰ 3 ਤੋਂ ਘੱਟ ਆਈਟਮਾਂ ਵਾਲੇ 3 ਵਰਗਾਂ ਵਾਲੇ 2D ਮੰਡਲ ਵਿੱਚ ਬਦਲ ਨਹੀਂ ਸਕਦੇ, ਕਿਉਂਕਿ ਇਸ ਲਈ 3x3 = 9 ਤੋਂ ਘੱਟ ਆਈਟਮਾਂ ਦੀ ਜ਼ਰੂਰਤ ਹੈ。

ਇੰਸਟੈਂਸ

8 ਤੋਂ ਘੱਟ ਇਲੈਕਟ੍ਰੌਨਿਕ ਆਈਟਮਾਂ ਵਾਲੇ 1D ਮੰਡਲ ਨੂੰ ਹਰੇਕ ਅਕਾਰ ਵਿੱਚ 3 ਤੋਂ ਘੱਟ ਆਈਟਮਾਂ ਵਾਲੇ 2D ਮੰਡਲ ਵਿੱਚ ਬਦਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ (ਇਹ ਗਲਤੀ ਪੈਦਾ ਕਰੇਗਾ):

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(3, 3)
print(newarr)

ਰਨ ਇੰਸਟੈਂਸ

ਅਸਲ ਪਰਿਭਾਸ਼ਿਤ ਮੰਡਲ ਹੈ ਜਾਂ ਦਿਸ਼ਾ ਹੈ?

ਇੰਸਟੈਂਸ

ਵਾਪਸ ਦਿੱਤੇ ਗਏ ਪਰਿਭਾਸ਼ਿਤ ਮੰਡਲ ਨੂੰ ਅਸਲ ਪਰਿਭਾਸ਼ਿਤ ਮੰਡਲ ਹੈ ਜਾਂ ਦਿਸ਼ਾ ਹੈ:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
print(arr.reshape(2, 4).base)

ਰਨ ਇੰਸਟੈਂਸ

ਉੱਪਰੋਕਤ ਉਦਾਹਰਣ ਮੂਲ ਨਮੂਨੇ ਨੂੰ ਵਾਪਸ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਇੱਕ ਦਰਸ਼ਨ ਹੈ।

ਅਣਜਾਣਤਾ ਦਾ ਪਰਮੀਟਰ

ਅਣਜਾਣਤਾ ਦਾ ਪਰਮੀਟਰ ਵਰਤ ਸਕਦੇ ਹੋ

ਇਹ ਮਤਲਬ ਹੈ ਕਿ ਤੁਸੀਂ reshape ਮੈਥਡ ਵਿੱਚ ਇੱਕ ਪਰਮੀਟਰ ਦਾ ਸਪੱਸ਼ਟ ਅੰਕ ਨਹੀਂ ਦੇਣਾ ਹੈ。

ਪਾਸ ਕੀਤਾ ਗਿਆ -1 ਇੱਕ ਅੰਕ ਵਜੋਂ, NumPy ਲਈ ਤੁਸੀਂ ਇਹ ਗਿਣਤੀ ਕੱਢੇ ਹੋਣਗੇ。

ਇੰਸਟੈਂਸ

8 ਇਲੈਕਟਰਨ ਦੇ 1D ਨਮੂਨੇ ਨੂੰ 2x2 ਇਲੈਕਟਰਨ ਦੇ 3D ਨਮੂਨੇ ਵਿੱਚ ਬਦਲੋ:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(2, 2, -1)
print(newarr)

ਰਨ ਇੰਸਟੈਂਸ

ਟਿੱਪਣੀਆਂ:ਅਸੀਂ ਇਸ ਨੂੰ ਨਹੀਂ ਬਦਲ ਸਕਦੇ -1 ਕਿਸੇ ਕਿਸੇ ਪਰਮੀਟਰ ਨੂੰ ਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ

ਫਲੈਟਨ ਨਮੂਨੇ

ਨਮੂਨੇ ਨੂੰ ਫਲੈਟਨ (Flattening the arrays) ਕਹਿੰਦੇ ਹਾਂ, ਇਹ ਬਹੁ-ਪਰਮੀਟਰ ਨਮੂਨੇ ਨੂੰ 1D ਨਮੂਨੇ ਵਿੱਚ ਬਦਲਣ ਦਾ ਮਤਲਬ ਹੈ。

ਅਸੀਂ ਇਸ ਦਾ ਉਪਯੋਗ ਕਰ ਸਕਦੇ ਹਾਂ reshape(-1) ਇਸ ਨੂੰ ਕਰਨ ਲਈ

ਇੰਸਟੈਂਸ

ਨਮੂਨੇ ਵਿੱਚ ਨਮੂਨੇ ਨੂੰ 1D ਨਮੂਨੇ ਵਿੱਚ ਬਦਲੋ:

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
newarr = arr.reshape(-1)
print(newarr)

ਰਨ ਇੰਸਟੈਂਸ

ਟਿੱਪਣੀਆਂ:ਬਹੁਤ ਸਾਰੀਆਂ ਫੰਕਸ਼ਨਾਂ ਹਨ ਜੋ numpy flatten, ravel ਵਿੱਚ ਨਮੂਨੇ ਦਾ ਰੂਪ ਬਦਲ ਸਕਦੀਆਂ ਹਨ, ਨਾਲ ਹੀ ਰੂਪ ਬਦਲਣ ਵਾਲੇ ਇਲੈਕਟਰਨਾਂ rot90, flip, fliplr, flipud ਵਗੈਰਾ ਨੂੰ ਵੀ ਪੁਨਰਗਠਨ ਕਰ ਸਕਦੀਆਂ ਹਨ।ਇਹ ਫੰਕਸ਼ਨ ਨਾਪੂੰਨੇ ਤੋਂ ਉੱਚ ਪੱਧਰ ਦੇ ਹਨ。