Skip to main content
0
Programming LanguagePython

พื้นฐานการใช้ NumPy ใน Python 3

NumPy คืออะไร ?

NumPy เป็นชื่อของ library ที่ใช้ในการคำนวนทางคณิตศาสตร์ในภาษา Python ซึ่งภายในถูกเขียนด้วยภาษา C จึงทำงานได้เร็วและมีประสิทธิภาพ โดย NumPy มีความสามารถในการจัดการกับอาเรย์หลายมิติและข้อมูลแบบเมทริกซ์

เราสามารถติดตั้ง NumPy ได้ง่ายผ่าน package installer ของ Python ด้วยคำสั่ง

pip install numpy

เวลาจะใช้งานก็ import เข้ามาใช้งานได้เหมือนตัวอย่างด้านล่างนี้เลย

import numpy as np
a = np.array([1,2,3])
print(a)        # [1 2 3]
print(type(a))  # <class 'numpy.ndarray'>

ประโยชน์ที่เจ๋ง ๆ ของ NumPy

มาลองดูประโยชน์ของ NumPy ที่จะเปลี่ยนให้เรื่องยากเป็นเรื่องง่ายหรือเรื่องที่ง่ายอยู่แล้วให้ง่ายขึ้นไปอีก รับรองว่ารู้เอาไว้ไม่เสียหายแน่นอน

การสร้าง Array

NumPy นั้นสามารถสร้างและจัดการกับ array หลายมิติได้ง่ายๆหลายวิธี

import numpy as np
 
a = np.array([1, 2, 3])   # สร้าง array 1 มิติ
print(a)                  # [1 2 3]
print(a[0], a[1], a[2])   # 1 2 3
a[2] = 5                  # เปลี่ยนค่าใน array
print(a)                  # [1 2 5]
 
b = np.array([[1,2,3],[4,5,6]])    # สร้าง array 2 มิติ
print(b)                           # [[1 2 3]
                                  #  [4 5 6]]
 
# เราสามารถดูขนาดรูปร่างของ array ได้
print(a.shape)            # (3,)
print(b.shape)            # (2, 3)

สร้าง Array ที่มีข้อมูลภายใน

นอกจากการสร้าง NumPy Array ขึ้นมาด้วยข้อมูลที่เรากำหนดแล้ว เรายังสามารถสร้างโดยระบุเพียงขนาดของ array และให้ข้อมูลภายในเป็นไปตามที่ต้องการได้ผ่านฟังก์ชันของ NumPy

import numpy as np
 
zero = np.zeros((2,2))   # สร้าง array ที่ทุกค่าเป็น 0
print(zero)              # [[0. 0.]
                         #  [0. 0.]]
 
one = np.ones((3,2))     # สร้าง array ที่ทุกค่าเป็น 1
print(one)               # [[1. 1.]
                         #  [1. 1.]
                         #  [1. 1.]]
 
five = np.full((3,3), 5) # สร้าง array ที่ทุกค่าเป็นเลขที่ระบุ (5)
print(five)              # [[5 5 5]
                         #  [5 5 5]
                         #  [5 5 5]]
 
identity = np.eye(5)     # สร้างเมทริกซ์เออกลักษณ์ขนาด 5 x 5
print(identity)          # [[1. 0. 0. 0. 0.]
                         #  [0. 1. 0. 0. 0.]
                         #  [0. 0. 1. 0. 0.]
                         #  [0. 0. 0. 1. 0.]
                         #  [0. 0. 0. 0. 1.]]
 
random = np.random.random((3,3))  # สร้าง array ที่สุ่มค่าด้านใน
print(random)                     # [[0.06410201 0.14923082 0.32935854]
                                  #  [0.4784618  0.70607096 0.32578298]
                                  #  [0.90210072 0.51487876 0.98004843]]

ทำให้ค่าใน Array อยู่ในช่วงที่กำหนด

สมมติเรามี array ที่มีข้อมูลหลากหลาย แต่เราต้องการที่จะแก้ไขให้ข้อมูลทั้งหมดอยู่ในช่วงที่เรากำหนด เราสามารถใช้ฟังก์ชัน clip() ในการแก้ไข array ได้ โดยที่ยังคงลำดับของข้อมูลไว้เหมือนเดิม ถ้าข้อมูลตัวไหนเกินค่าที่กำหนดก็จะถูกเปลี่ยนให้เป็นค่า max ส่วนถ้าน้อยกว่าที่กำหนดก็จะถูกเปลี่ยนเป็นค่า min

import numpy as np
 
max_value = 4
min_value = 1
a = [1, 22, 99, 0, 6, 8, -2, 3, 4, 3, 1]
print(np.clip(a, min_value, max_value))    # [1 4 4 1 4 4 1 3 4 3 1]

ค้นหาตำแหน่งของของข้อมูลที่ผ่านเงื่อนไข

NumPy มีฟังก์ชันในการค้นหาตำแหน่งของข้อมูลใน array ที่ทำให้เงื่อนไขที่เรากำหนดเป็นจริงได้ผ่านฟังก์ชัน where()

import numpy as np
 
a = np.array([2, 3, 4, 5, 1, 2])
print(np.where(a % 2 == 0))      # (array([0, 2, 5]),)

หา Percentile

NumPy มีฟังก์ชัน percentile() ทำให้เราสามารถหา percentile ที่ต้องการได้ง่ายๆในคำสั่งเดียว

import numpy as np
 
a = np.array([1,2,3,4,5,6,7,8,9,10])
print(np.percentile(a, 50, axis =0))   # 5.5
 
b = np.array([5, 1, 3, 7, 9])
print(np.percentile(b, 25, axis =0))   # 3.0

Reference :

Develeper

Author Develeper

More posts by Develeper

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้
    รายละเอียดคุกกี้

  • คุกกี้สำหรับการติดตามทางการตลาด

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

บันทึกการตั้งค่า