กวดวิชาNumPy

NumPy HOME แนะนำ NumPy NumPy เริ่มต้นใช้งาน NumPy การสร้างอาร์เรย์ การจัดทำดัชนี NumPy Array NumPy Array Slicing ประเภทข้อมูล NumPy NumPy Copy เทียบกับ View NumPy Array Shape การปรับรูปร่าง NumPy Array NumPy Array Iterating NumPy Array เข้าร่วม NumPy Array Split ค้นหาอาร์เรย์ NumPy NumPy Array Sort ตัวกรองอาร์เรย์ NumPy

NumPyสุ่ม

สุ่มอินโทร การกระจายข้อมูล การเรียงสับเปลี่ยนแบบสุ่ม โมดูล Seaborn การกระจายแบบปกติ การกระจายทวินาม จำหน่ายปลา กระจายสม่ำเสมอ การกระจายโลจิสติกส์ การกระจายพหุนาม การกระจายแบบเอกซ์โพเนนเชียล จิสแควร์ ดิสทริบิวชั่น การกระจาย Rayleigh พาเรโต้ ดิสทริบิวชั่น การกระจาย Zipf

NumPy ufunc

ufunc Intro ufunc สร้างฟังก์ชัน ufunc เลขคณิตอย่างง่าย ufunc การปัดเศษทศนิยม ufunc บันทึก ufunc ผลรวม ผลิตภัณฑ์ ufunc ufunc ความแตกต่าง ufunc ค้นหา LCM ufunc กำลังหา GCD ufunc ตรีโกณมิติ ufunc ไฮเปอร์โบลิก ufunc Set Operations

แบบทดสอบ/แบบฝึกหัด

แบบทดสอบ NumPy แบบฝึกหัด NumPy

NumPy Splitting Array


การแยกอาร์เรย์ NumPy

การแยกเป็นการดำเนินการย้อนกลับของการเข้าร่วม

การรวมหลายอาร์เรย์เข้าด้วยกันเป็นหนึ่งเดียวและการแบ่งแยกอาร์เรย์หนึ่งออกเป็นหลาย ๆ

เราใช้array_split()สำหรับแยกอาร์เรย์ เราส่งต่ออาร์เรย์ที่เราต้องการแยกและจำนวนการแยก

ตัวอย่าง

แบ่งอาร์เรย์ออกเป็น 3 ส่วน:

import numpy as np

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

newarr = np.array_split(arr, 3)

print(newarr)

หมายเหตุ:ค่าที่ส่งคืนคืออาร์เรย์ที่มีสามอาร์เรย์

หากอาร์เรย์มีองค์ประกอบน้อยกว่าที่จำเป็น อาร์เรย์จะปรับจากส่วนท้ายตามลำดับ

ตัวอย่าง

แบ่งอาร์เรย์ออกเป็น 4 ส่วน:

import numpy as np

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

newarr = np.array_split(arr, 4)

print(newarr)

หมายเหตุ:เรายังมีวิธีการที่split()ใช้ได้ แต่จะไม่ปรับองค์ประกอบเมื่อองค์ประกอบน้อยกว่าในอาร์เรย์ต้นทางสำหรับการแยกเหมือนในตัวอย่างด้านบนarray_split()ทำงานอย่างถูกต้อง แต่ split()จะล้มเหลว



แยกออกเป็นอาร์เรย์

ค่าส่งกลับของarray_split()วิธีการคืออาร์เรย์ที่มีการแยกแต่ละรายการเป็นอาร์เรย์

หากคุณแบ่งอาร์เรย์ออกเป็น 3 อาร์เรย์ คุณจะสามารถเข้าถึงอาร์เรย์ได้จากผลลัพธ์ เช่นเดียวกับองค์ประกอบอาร์เรย์อื่นๆ:

ตัวอย่าง

เข้าถึงอาร์เรย์ที่แยก:

import numpy as np

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

newarr = np.array_split(arr, 3)

print(newarr[0])
print(newarr[1])
print(newarr[2])

การแยกอาร์เรย์ 2-D

ใช้ไวยากรณ์เดียวกันเมื่อแยกอาร์เรย์ 2 มิติ

ใช้array_split()วิธีการ ส่งผ่านอาร์เรย์ที่คุณต้องการแยกและจำนวนการแยกที่คุณต้องการทำ

ตัวอย่าง

แยกอาร์เรย์ 2-D ออกเป็นอาร์เรย์ 2-D สามชุด

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]])

newarr = np.array_split(arr, 3)

print(newarr)

ตัวอย่างข้างต้นจะคืนค่าอาร์เรย์ 2-D สามชุด

ลองดูตัวอย่างอื่น คราวนี้แต่ละองค์ประกอบในอาร์เรย์ 2 มิติมี 3 องค์ประกอบ

ตัวอย่าง

แยกอาร์เรย์ 2-D ออกเป็นอาร์เรย์ 2-D สามชุด

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.array_split(arr, 3)

print(newarr)

ตัวอย่างข้างต้นจะคืนค่าอาร์เรย์ 2-D สามชุด

นอกจากนี้ คุณสามารถระบุแกนที่คุณต้องการแยกส่วนได้

ตัวอย่างด้านล่างจะส่งกลับอาร์เรย์ 2 มิติสามชุด แต่จะแยกตามแถว (แกน=1)

ตัวอย่าง

แยกอาร์เรย์ 2-D ออกเป็นอาร์เรย์ 2-D สามชุดตามแถว

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.array_split(arr, 3, axis=1)

print(newarr)

อีกวิธีหนึ่งใช้hsplit()ตรงข้ามกับ hstack()

ตัวอย่าง

ใช้hsplit()วิธีการเพื่อแยกอาร์เรย์ 2-D ออกเป็นอาร์เรย์ 2-D สามชุดตามแถว

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.hsplit(arr, 3)

print(newarr)

หมายเหตุ:ทางเลือกที่คล้ายคลึงกันvstack()และ พร้อมใช้ งานdstack()เป็น vsplit()และ dsplit()