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 массивами для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π±Π΅Π· Ρ†ΠΈΠΊΠ»ΠΎΠ².