Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

อภิปรายว่าฟังก์ชัน sort สามารถใช้กับอาร์เรย์ NumPy ใน Python ได้อย่างไร


NumPy หมายถึง 'ตัวเลข' 'Python' เป็นไลบรารีที่มีอ็อบเจ็กต์อาร์เรย์หลายมิติและหลายวิธีที่ช่วยในการประมวลผลอาร์เรย์ NumPy สามารถใช้เพื่อดำเนินการกับอาร์เรย์ได้หลากหลาย ใช้ร่วมกับแพ็คเกจเช่น SciPy, Matplotlib เป็นต้น NumPy+Matplotlib สามารถเข้าใจได้ว่าเป็นทางเลือกแทน MatLab เป็นแพ็คเกจโอเพ่นซอร์ส ซึ่งหมายความว่าทุกคนสามารถใช้ได้

วัตถุที่สำคัญที่สุดที่มีอยู่ในแพ็คเกจ NumPy คืออาร์เรย์ n มิติซึ่งเรียกว่า 'ndarray' กำหนดคอลเลกชันของรายการประเภทเดียวกัน ค่าเหล่านี้ภายใน ndarray สามารถเข้าถึงได้โดยใช้การทำดัชนี (ดัชนีแบบอิง 0) ทุกรายการใน ndarray ใช้บล็อกขนาดเท่ากันในพื้นที่หน่วยความจำ ประเภทขององค์ประกอบทั้งหมดใน ndarray สามารถพบได้โดยใช้ฟังก์ชัน 'dtype'

สามารถแยกรายการจาก ndarray ได้โดยใช้การแบ่งอาร์เรย์ มันถูกแสดงเป็นวัตถุประเภทสเกลาร์อาร์เรย์ มีฟังก์ชันการเรียงลำดับที่หลากหลายใน NumPy โดยสามารถนำมาใช้ในวิธีการที่แตกต่างกัน และแต่ละฟังก์ชันจะแตกต่างกันไปตามความเร็วในการดำเนินการ กรณีที่แย่ที่สุด ต้องใช้หน่วยความจำ และอื่นๆ

ฟังก์ชัน 'sort' ใน NumPy จะส่งกลับสำเนาที่จัดเรียงของอาร์เรย์ซึ่งส่งผ่านเป็นอินพุตไปยังอาร์เรย์นั้น

numpy.sort(arr, axis, kind, order)

ที่นี่ 'arr' คืออาร์เรย์ที่ต้องจัดเรียง 'แกน' หมายถึงแกนที่จะจัดเรียงอาร์เรย์ 'ชนิด' หมายถึงประเภทของการเรียงลำดับ ค่าเริ่มต้นคือ การเรียงลำดับอย่างรวดเร็ว หากอาร์เรย์มีฟิลด์อื่น 'order' หมายถึงฟิลด์เหล่านี้ที่จำเป็นต้องจัดเรียง

ต่อไปนี้คือตัวอย่างการใช้ sort() กับอาร์เรย์ NumPy -

ตัวอย่าง

import numpy as np
my_arr = np.array([[3,56],[19,100]])
print("Original array is :")
print(my_arr)
print("The sort() function called")
print(np.sort(my_arr))
print("Sorting array along axis 0")
print(np.sort(my_arr, axis = 0))
dt = np.dtype([('Name', 'S6'),('Age', int)])
my_arr = np.array([("Will",20),("Jack",19),("Bob", 23)], dtype = dt)
print("Original array is :")
print(my_arr)
print("Array sorted by name ")
print(np.sort(my_arr, order = 'Name'))

ผลลัพธ์

Original array is :
[[ 3 56]
[ 19 100]]
The sort() function called
[[ 3 56]
[ 19 100]]
Sorting array along axis 0
[[ 3 56]
[ 19 100]]
Original array is :
[(b'Will', 20) (b'Jack', 19) (b'Bob', 23)]
Array sorted by name
[(b'Bob', 23) (b'Jack', 19) (b'Will', 20)]

คำอธิบาย

  • นำเข้าไลบรารีที่จำเป็นในสภาพแวดล้อม
  • สร้าง ndarray และจัดเรียงโดยใช้ฟังก์ชัน 'sort'
  • ผลลัพธ์จะปรากฏขึ้น
  • อีกครั้ง มันถูกจัดเรียงตามแกน 0 และเอาต์พุตจะแสดงบนคอนโซล
  • อาร์เรย์อื่นประกอบด้วยชื่อและอายุถูกสร้างขึ้น และจัดเรียงตามแกน 0
  • เอาต์พุตจะแสดงบนคอนโซล