วิธีการเชื่อม NumPy Arrays
NumPy เป็นไลบรารี่ที่ยอดเยี่ยมสำหรับการทำงานกับอาร์เรย์ใน Python ครอบคลุมทุกอย่างตั้งแต่การสร้างไปจนถึงการจัดการอาร์เรย์ทุกขนาด ไม่น่าแปลกใจเลยที่ NumPy มาพร้อมกับยูทิลิตี้ที่คุณสามารถใช้เพื่อเชื่อมอาร์เรย์
numpy.concatenate()
วิธีการรวมอาร์เรย์ตั้งแต่สองอาร์เรย์ขึ้นไปเป็นอาร์เรย์เดียว
ในคู่มือนี้ เราจะพูดถึงว่า NumPy Array คืออะไร และคุณจะเชื่อมเข้าด้วยกันได้อย่างไร เราจะอธิบายตัวอย่างบางส่วนเพื่อช่วยคุณในการเริ่มต้น เริ่มกันเลย!
โครงสร้างของอาร์เรย์
อาร์เรย์ NumPy เป็นอาร์เรย์ประเภทหนึ่งที่ทำงานร่วมกับไลบรารี NumPy ดูเหมือนอาร์เรย์อื่นๆ แต่ถูกเก็บไว้ในวัตถุ ndarray:
array([1, 2, 3])
ในการทำงานกับอาร์เรย์ NumPy เราจำเป็นต้องนำเข้าไลบรารี numpy:
import numpy as np
เราจะเชื่อมสองอาร์เรย์เข้าด้วยกัน หนึ่งอาร์เรย์จะมีตัวเลขทั้งหมดระหว่าง 1 ถึง 9 (รวม) อาร์เรย์ที่สองจะมีตัวเลขทั้งหมดระหว่าง 10 ถึง 18 (รวม)
มาสร้างอาร์เรย์เหล่านี้โดยใช้ arange()
วิธีการ:
first_array = np.arange(1, 10).reshape(3, 3) second_array = np.arange(10, 19).reshape(3, 3) print(first_array) print(second_array)
รหัสนี้สร้างสองอาร์เรย์ แต่ละอาร์เรย์เป็นอาร์เรย์ 2 มิติ เราได้สร้างอาร์เรย์เหล่านี้ 2d โดยใช้ reshape()
วิธีที่สร้างตาราง 3 × 3 สำหรับแต่ละอาร์เรย์:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
[[1 2 3] [4 5 6] [7 8 9]] [[10 11 12] [13 14 15] [16 17 18]]
ตอนนี้เรามีสองอาร์เรย์ที่เราสามารถทำงานได้! มาต่อกันโดยใช้ concatenate()
.
การต่อ NumPy
คุณสามารถเชื่อมอาร์เรย์เป็นสองแกน:ตามแถวหรือตามคอลัมน์ ทำได้โดยใช้ concatenate()
กระบวนการ. วิธีการต่อเชื่อมสามารถรวม 1d, 2d, 3d, 4d และอาร์เรย์ที่มีจำนวนมิติที่สูงกว่าได้
ต่อกันตามแถว
เราจะเริ่มต้นด้วยการต่ออาร์เรย์สองอาร์เรย์ของเราทีละแถว สิ่งนี้จะจัดตำแหน่งรายการในสองอาร์เรย์ของเราทีละแถวและรวมเข้าเป็นอาร์เรย์เดียว:
final_array = np.concatenate((first_array, second_array)) print(final_array)
เราได้ระบุทูเพิลใน concatenate()
การทำงาน. ทูเพิลนี้มีรายการอาร์เรย์ที่เราต้องการต่อ ไม่มีพารามิเตอร์ concatenate()
ต่อกันเป็นแถว
รหัสของเราส่งคืน:
[[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12] [13 14 15] [16 17 18]]
อาร์เรย์ของเราถูกต่อกันด้วยแถว
ต่อตามคอลัมน์
คุณสามารถใช้วิธีการต่อกันเพื่อรวมสองอาร์เรย์ตามคอลัมน์
ในการทำเช่นนี้ เราจำเป็นต้องแนะนำพารามิเตอร์ใหม่:แกน โดยค่าเริ่มต้น ค่านี้คือ 0 ซึ่งสอดคล้องกับแกน x หรือแกนของแถว เราสามารถแทนที่ค่านี้และตั้งค่าเป็น 1 ซึ่งจะรวมสองอาร์เรย์ของเราตามคอลัมน์
มาต่อกันสองอาร์เรย์ของเราตามคอลัมน์:
final_array = np.concatenate((first_array, second_array), axis=1) print(final_array)
รหัสของเราเกือบจะเหมือนกับตัวอย่างสุดท้ายของเรา ความแตกต่างคือเราได้ระบุพารามิเตอร์ axis=1 มาดูกันว่าจะเกิดอะไรขึ้นเมื่อเรารันโค้ดของเรา:
[[ 1 2 3 10 11 12] [ 4 5 6 13 14 15] [ 7 8 9 16 17 18]]
อาร์เรย์ของเราถูกผสานโดยคอลัมน์
การเชื่อมต่ออาร์เรย์มากกว่าสองอาร์เรย์
concatenate()
เมธอดสามารถต่ออาร์เรย์จำนวนเท่าใดก็ได้ มาลองเชื่อมสามอาร์เรย์บนแกนนอนกัน อาร์เรย์ที่เราจะใช้งานประกอบด้วยตัวเลขทั้งหมดในช่วงของ:
- 1 ถึง 9 (รวม)
- 10 ถึง 18 (รวม)
- 19 ถึง 27 (รวม)
มากำหนดอาร์เรย์ของเราใน Python:
first_array = np.arange(1, 10).reshape(3, 3) second_array = np.arange(10, 19).reshape(3, 3) third_array = np.arange(19, 28).reshape(3, 3)
ต่อไป เราสามารถใช้ concatenate เพื่อรวมเข้าด้วยกัน:
final_array = np.concatenate((first_array, second_array, third_array), axis=1) print(final_array)
เราได้ระบุอาร์เรย์ทั้งสามของเราเป็นทูเพิลใน concatenate()
กระบวนการ. เมื่อรวมกันแล้ว อาร์เรย์เหล่านี้จะสอดคล้องกับตัวเลขทั้งหมดระหว่าง 1 ถึง 27
เรียกใช้โปรแกรมของเรา:
[[ 1 2 3 10 11 12 19 20 21] [ 4 5 6 13 14 15 22 23 24] [ 7 8 9 16 17 18 25 26 27]]
ตอนนี้อาร์เรย์ทั้งสามของเราถูกกำหนดให้กับตัวแปร “final_array” เราได้พิมพ์ตัวแปรนี้ไปที่คอนโซลเพื่อแสดงว่าอาร์เรย์ของเราได้รับการผสานสำเร็จแล้ว
บทสรุป
NumPy concatenate()
วิธีการรวมอาร์เรย์ NumPy สองรายการขึ้นไป อาร์เรย์จะเข้าร่วมในแกนแนวตั้งโดยค่าเริ่มต้น คุณสามารถเข้าร่วมอาร์เรย์ในการเข้าถึงแนวนอนโดยใช้แฟล็ก axis=1
คุณสามารถเชื่อมอาร์เรย์ 1d สองอาร์เรย์ขึ้นไปโดยใช้เมธอด vstack และ hstack concatenate()
มีประสิทธิภาพมากกว่าวิธีการเหล่านี้ concatenate()
ยังรองรับการต่ออาร์เรย์มิติ 2d, 3d และสูงกว่า
ตอนนี้คุณพร้อมที่จะเริ่มเชื่อม NumPy arrays เหมือนผู้เชี่ยวชาญ Python แล้ว!