reshape(n, 1) Π² NumPy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²-ΡΡΠΎΠ»Π±Π΅Ρ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»ΠΈΠ½Ρ n:
import numpy as np
a = np.array([1, 2, 3, 4])
print(a.shape) # (4,)ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ reshape(n, 1):
b = a.reshape(4, 1)
print(b)
# [[1]
# [2]
# [3]
# [4]]
print(b.shape) # (4, 1)ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ 1D ΠΌΠ°ΡΡΠΈΠ²
(n,)Π² 2D ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ(n, 1) - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ broadcasting ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ, Π³Π΄Π΅ Π½ΡΠΆΠ½Π° ΠΌΠ°ΡΡΠΈΡΠ°-ΡΡΠΎΠ»Π±Π΅Ρ
- ΠΠ΅ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ β ΡΠΎΠ·Π΄Π°ΡΡΡΡ view Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠΌΠΈ
shapeΠΈstrides
ΠΡΠΈΠΌΠ΅Ρ Ρ broadcasting:
x = np.array([1, 2, 3])
y = np.array([10, 20])
x_col = x.reshape(3, 1) # shape (3, 1)
# ΠΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ shape (2,)
result = x_col + y # shape (3, 2)
print(result)
# [[11 21]
# [12 22]
# [13 23]]ΠΠ΄Π΅Ρ: reshape(n, 1) Π΄Π΅Π»Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ 2D ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π±Π΅Π· ΡΠΈΠΊΠ»ΠΎΠ².