เรามีเมธอดชื่อ astype(data_type) เพื่อเปลี่ยนชนิดข้อมูลของอาร์เรย์ NumPy ถ้าเรามีอาร์เรย์ NumPy ชนิด float64 เราสามารถเปลี่ยนเป็น int32 โดยส่งชนิดข้อมูลให้เมธอด astype() ของอาร์เรย์ NumPy
เราสามารถตรวจสอบชนิดของอาร์เรย์ NumPy ได้ด้วยคลาส dtype มาตรวจสอบชนิดข้อมูลของอาร์เรย์ตัวอย่าง
ตัวอย่าง
# นำเข้าไลบรารี numpy import numpy as np # สร้างอาร์เรย์ numpy array = np.array([1, 2, 3, 4, 5]) # พิมพ์ชนิดข้อมูลของอาร์เรย์ numpy print(array.dtype)
ผลลัพธ์
ถ้ารันโค้ดข้างต้น จะได้ผลลัพธ์ดังนี้:
int32
มาดูวิธีเปลี่ยนชนิดข้อมูลของอาร์เรย์ NumPy จาก float64 เป็น int32
ตัวอย่าง
# นำเข้าไลบรารี numpy
import numpy as np
# สร้างอาร์เรย์ numpy ชนิด float64
array = np.array([1.5, 2.6, 3.7, 4.8, 5.9])
# ชนิดก่อนเปลี่ยน
print(f'Before changing {array.dtype}')
# เปลี่ยนชนิดข้อมูลด้วยเมธอด astype()
array = array.astype(np.int32)
# ชนิดหลังเปลี่ยน
print(f'\nAfter changing {array.dtype}')
ผลลัพธ์
ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้:
Before changing float64 After changing int32
เราสามารถใช้ชนิดข้อมูลใดๆ ที่มีในโมดูล numpy หรือชนิดข้อมูลทั่วไปของ Python ได้ คุณสามารถหารายการชนิดข้อมูลใน numpy ได้ที่เอกสารอย่างเป็นทางการ
สรุป
เมธอด astype() เป็นวิธีมาตรฐานในการแปลงชนิดข้อมูลของอาร์เรย์ NumPy รองรับชนิดข้อมูลมากมาย