Pandas & NumPy Academy · บทเรียน

การสร้างอาร์เรย์ NumPy

สร้างอาร์เรย์หนึ่งมิติและสองมิติด้วย np.array, np.zeros, np.ones และ np.arange จากนั้นตรวจสอบ shape และ dtype

บทเรียน 1 จาก 413 ขั้นตอน

การสร้างอาร์เรย์ NumPy เป็นบทเรียน Pandas & NumPy Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Pandas & NumPy Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Pandas & NumPy Academy มีบทเรียนทั้งหมด 4 บทเรียน

อาร์เรย์ NumPy คืออะไร

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

import numpy as np

# NumPy arrays are fast, typed, and memory-efficient
print(np.__version__)

การสร้างอาร์เรย์จากลิสต์

วิธีที่ง่ายที่สุดในการสร้างอาร์เรย์คือส่งลิสต์ให้ np.array() โดย NumPy จะเลือก ชนิดข้อมูล ให้โดยอัตโนมัติ และลิสต์ซ้อนลิสต์จะกลายเป็นเมทริกซ์ 2 มิติ

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(a)          # [1 2 3 4 5]
print(a.dtype)    # int64

m = np.array([[1, 2, 3], [4, 5, 6]])
print(m.shape)    # (2, 3)

np.zeros และ np.ones

ต้องการจุดเริ่มต้นที่ว่างเปล่าหรือไม่ np.zeros จะเติมอาร์เรย์ด้วย 0.0 ส่วน np.ones จะเติมด้วย 1.0 เหมาะสำหรับเตรียมอาร์เรย์ก่อนคำนวณค่าจริง

import numpy as np

z = np.zeros(5)
print(z)          # [0. 0. 0. 0. 0.]

o = np.ones((3, 4))
print(o.shape)    # (3, 4)
print(o.dtype)    # float64

np.arange สำหรับลำดับจำนวนเต็ม

np.arange ทำงานคล้าย range ของ Python แต่คืนค่าเป็นอาร์เรย์ คุณระบุค่าเริ่มต้น ค่าสิ้นสุด และระยะก้าว โดยค่าสิ้นสุดจะไม่ถูกรวมไว้

import numpy as np

a = np.arange(0, 10, 2)
print(a)   # [0 2 4 6 8]

b = np.arange(1.0, 2.0, 0.25)
print(b)   # [1.   1.25 1.5  1.75]

np.linspace สำหรับจำนวนทศนิยมที่เว้นระยะเท่ากัน

ต้องการจำนวนทศนิยมที่เว้นระยะเท่ากันหรือไม่ np.linspace จะสร้างค่าตามจำนวนที่กำหนดระหว่างจุดปลายสองจุด โดยรวมทั้งสองจุดไว้ด้วย และไม่มีความคลาดเคลื่อนจากการปัดเศษสะสม

import numpy as np

x = np.linspace(0, 1, 5)
print(x)   # [0.   0.25 0.5  0.75 1.  ]

y = np.linspace(0, 360, 7)
print(y)   # [  0.  60. 120. 180. 240. 300. 360.]

np.full และ np.eye

ใช้ np.full เพื่อเติมอาร์เรย์ด้วยค่าคงที่ใดก็ได้ และใช้ np.eye เพื่อสร้างเมทริกซ์เอกลักษณ์ ซึ่งมีค่าเป็นหนึ่งบนแนวทแยงและเป็นศูนย์ในตำแหน่งอื่น

import numpy as np

f = np.full((2, 3), 7)
print(f)
# [[7 7 7]
#  [7 7 7]]

I = np.eye(3)
print(I)
# [[1. 0. 0.]
#  [0. 1. 0.]
#  [0. 0. 1.]]

การระบุชนิดข้อมูลขณะสร้าง

อาร์เรย์ทุกอาร์เรย์จะใช้ ชนิดข้อมูล เดียวกันกับค่าทั้งหมด คุณกำหนดเองได้ด้วย dtype= ตัวอย่างเช่น การเลือก float32 แทน float64 อาจลดการใช้หน่วยความจำลงครึ่งหนึ่ง

import numpy as np

a = np.array([1, 2, 3], dtype=np.float32)
print(a.dtype)     # float32
print(a.nbytes)    # 12  (3 elements x 4 bytes)

b = np.zeros(4, dtype=np.int32)
print(b.dtype)     # int32

อาร์เรย์สุ่มด้วย np.random

ต้องการข้อมูลสุ่มหรือไม่ np.random จะสร้างให้คุณ กำหนดค่าเริ่มต้นของการสุ่มก่อน เพื่อให้ได้ตัวเลขเดิมทุกครั้งที่ทำงาน ซึ่งสำคัญต่อการทดลองที่ทำซ้ำได้ 🎲

import numpy as np

np.random.seed(42)
u = np.random.rand(3, 3)   # uniform [0, 1)
print(u)

n = np.random.randn(5)     # standard normal
print(n.round(2))

การตรวจสอบรูปร่างและมิติของอาร์เรย์

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

import numpy as np

a = np.arange(12)
print(a.shape)   # (12,)
print(a.ndim)    # 1

m = a.reshape(3, 4)
print(m.shape)   # (3, 4)
print(m.ndim)    # 2

การแปลงลิสต์และทูเพิล

np.array() รับค่าได้มากกว่าลิสต์ ทั้งทูเพิล ช่วงค่า หรือแม้แต่อาร์เรย์อื่นก็ใช้ได้ เพียงหลีกเลี่ยงลิสต์ด้านในที่มีความยาวไม่เท่ากัน เพราะจะทำให้ NumPy ทำงานช้าลง

import numpy as np

# From tuple
t = np.array((10, 20, 30))
print(t)   # [10 20 30]

# From range
r = np.array(range(5))
print(r)   # [0 1 2 3 4]

# Nested lists -> 2D
m = np.array([[1, 2], [3, 4], [5, 6]])
print(m.shape)  # (3, 2)

np.empty สำหรับอาร์เรย์ที่ยังไม่กำหนดค่า

np.empty จองหน่วยความจำโดยไม่เติมค่า จึงเร็วกว่า zeros เล็กน้อย แต่มีข้อควรระวังคืออาจมีข้อมูลตกค้างอยู่ ดังนั้นต้องเขียนค่าก่อนอ่านเสมอ

import numpy as np

buf = np.empty(5)
# Values are garbage — do NOT read before writing
for i in range(5):
    buf[i] = i * 2
print(buf)  # [0. 2. 4. 6. 8.]

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจเรื่องการสร้างอาร์เรย์ NumPy จากบทเรียนนี้

สรุปบทเรียน

ทำได้ดีมาก คุณสามารถแปลงลิสต์เป็นอาร์เรย์ด้วย np.array() และสร้างอาร์เรย์จากศูนย์ด้วย zeros, ones, arange และ linspace บทถัดไปคือแอตทริบิวต์ของอาร์เรย์

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “การสร้างอาร์เรย์ NumPy” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสร้างอาร์เรย์ NumPy” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Pandas & NumPy Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Pandas & NumPy Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การสร้างอาร์เรย์ NumPy”

สร้างอาร์เรย์หนึ่งมิติและสองมิติด้วย np.array, np.zeros, np.ones และ np.arange จากนั้นตรวจสอบ shape และ dtype คุณปฏิบัติ Pandas & NumPy Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Pandas & NumPy Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Pandas & NumPy Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การสร้างอาร์เรย์ NumPy” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Pandas & NumPy Academy นี้ได้ไหม

ได้ บทเรียน Pandas & NumPy Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การสร้างอาร์เรย์ NumPy
  2. แอตทริบิวต์และการตรวจสอบอาร์เรย์
  3. การคำนวณทีละสมาชิก
  4. การตัดแบ่งและการใช้ดัชนีอาร์เรย์
← กลับไปที่ Pandas & NumPy Academy