reshape(1, n) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² NumPy для прСобразования массива Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ-строку.

Если Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π΄Π»ΠΈΠ½Ρ‹ n:

import numpy as np
 
a = np.array([1, 2, 3, 4])
print(a.shape)  # (4,)

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ reshape(1, n):

row = a.reshape(1, 4)
print(row)
# [[1 2 3 4]]
print(row.shape)  # (1, 4)

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • ΠŸΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 1D массив (n,) Π² 2D массив с ΠΎΠ΄Π½ΠΎΠΉ строкой (1, n)
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для broadcasting ΠΏΠΎ строкам ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹, Π³Π΄Π΅ Π½ΡƒΠΆΠ½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°-строка
  • ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, создаётся view с ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΌΠΈ shape ΠΈ strides

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с broadcasting:

x = np.array([1, 2, 3])
y = np.array([[10], [20]])  # shape (2, 1)
 
x_row = x.reshape(1, 3)     # shape (1, 3)
 
# Broadcasting ΠΏΠΎ строкам
result = y + x_row           # shape (2, 3)
print(result)
# [[11 12 13]
#  [21 22 23]]

ИдСя: reshape(1, n) Π΄Π΅Π»Π°Π΅Ρ‚ массив Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ строкой, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ массивами для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π±Π΅Π· Ρ†ΠΈΠΊΠ»ΠΎΠ².