πŸ”— Как ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° numpy массива: простоС объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° массива NumPy, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ numpy.concatenate. Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

result = np.concatenate((arr1, arr2))
print(result)
    

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° numpy массива

ОбъСдинСниС Π΄Π²ΡƒΡ… numpy массивов являСтся Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Python. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу Π²Π°ΠΌ ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… способах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволят Π²Π°ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° numpy массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, прСдоставляСмых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ NumPy.

1. Ѐункция np.concatenate

Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных способов объСдинСния Π΄Π²ΡƒΡ… numpy массивов являСтся использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ np.concatenate. Π­Ρ‚Π° функция позволяСт Π²Π°ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ нСсколько массивов вдоль ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ оси.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… массивов
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# ОбъСдинСниС массивов
result = np.concatenate((arr1, arr2))

print(result)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этого ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚:

[1 2 3 4 5 6]

Однако, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° numpy массива Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ axis для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ np.concatenate.

НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° массива Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… массивов
arr1 = np.array([[1, 2, 3]])
arr2 = np.array([[4, 5, 6]])

# ОбъСдинСниС массивов ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ
result = np.concatenate((arr1, arr2), axis=0)

print(result)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этого ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚:

[[1 2 3]
 [4 5 6]]

А Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ массивы Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ axis=1:

import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… массивов
arr1 = np.array([[1], [2], [3]])
arr2 = np.array([[4], [5], [6]])

# ОбъСдинСниС массивов ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ
result = np.concatenate((arr1, arr2), axis=1)

print(result)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этого ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚:

[[1 4]
 [2 5]
 [3 6]]

2. Ѐункция np.vstack ΠΈ np.hstack

Π•Ρ‰Π΅ Π΄Π²Π° способа объСдинСния Π΄Π²ΡƒΡ… numpy массивов Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ - это использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ np.vstack ΠΈ np.hstack.

Ѐункция np.vstack позволяСт Π²Π°ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ массивы ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, Π° функция np.hstack - ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… массивов
arr1 = np.array([[1, 2, 3]])
arr2 = np.array([[4, 5, 6]])

# ОбъСдинСниС массивов ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ с использованиСм np.vstack
result1 = np.vstack((arr1, arr2))

# ОбъСдинСниС массивов ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ с использованиСм np.hstack
result2 = np.hstack((arr1, arr2))

print(result1)
print(result2)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этого ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚:

[[1 2 3]
 [4 5 6]]
[[1 2 3 4 5 6]]

3. Ѐункция np.column_stack ΠΈ np.row_stack

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ np.column_stack ΠΈ np.row_stack для объСдинСния numpy массивов.

Ѐункция np.column_stack ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ массивы ΠΏΠΎ столбцам, Π° функция np.row_stack - ΠΏΠΎ строкам.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… массивов
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# ОбъСдинСниС массивов ΠΏΠΎ столбцам с использованиСм np.column_stack
result1 = np.column_stack((arr1, arr2))

# ОбъСдинСниС массивов ΠΏΠΎ строкам с использованиСм np.row_stack
result2 = np.row_stack((arr1, arr2))

print(result1)
print(result2)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этого ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚:

[[1 4]
 [2 5]
 [3 6]]
[[1 2 3]
 [4 5 6]]

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы объСдинСния Π΄Π²ΡƒΡ… numpy массивов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ситуации.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ np.concatenate, np.vstack, np.hstack, np.column_stack, np.row_stack Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π£Π΄Π°Ρ‡ΠΈ Π² объСдинСнии Π²Π°ΡˆΠΈΡ… numpy массивов!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

#6. ОбъСдинСниС ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ массивов | NumPy ΡƒΡ€ΠΎΠΊΠΈ

#2. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массивов Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ array() | NumPy ΡƒΡ€ΠΎΠΊΠΈ

ΠžΡΠ½ΠΎΠ²Ρ‹ NumPy Python | ΠœΠ°ΡΡΠΈΠ²Ρ‹, ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ И ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Над Ними

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”— Как ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° numpy массива: простоС объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ столбСц Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ numpy? πŸ”„οΈ