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

เปลี่ยนประเภทข้อมูลของอาร์เรย์ numpy ที่กำหนด


อาร์เรย์ Numpy รองรับประเภทข้อมูลที่หลากหลาย นอกเหนือจากประเภทข้อมูลดั้งเดิมของ python หลังจากที่สร้างอาร์เรย์แล้ว เรายังคงสามารถปรับเปลี่ยนชนิดข้อมูลขององค์ประกอบในอาร์เรย์ได้ ขึ้นอยู่กับความต้องการของเรา สองวิธีที่ใช้เพื่อจุดประสงค์นี้คือ array.dtype และ array.astype

array.dtype

วิธีนี้ทำให้เรามีชนิดข้อมูลที่มีอยู่ขององค์ประกอบในอาร์เรย์ ในตัวอย่างด้านล่าง เราประกาศอาร์เรย์และค้นหาประเภทข้อมูลของอาร์เรย์

ตัวอย่าง

import numpy as np
# Create a numpy array
a = np.array([21.23, 13.1, 52.1, 8, 255])
# Print the array
print(a)
# Print the array dat type
print(a.dtype)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

[ 21.23 13.1 52.1 8. 255. ]
float64

array.astype

วิธีนี้จะแปลงอาร์เรย์ที่มีอยู่เป็นอาร์เรย์ใหม่ด้วยประเภทข้อมูลที่ต้องการ ในตัวอย่างด้านล่าง เราจะนำอาร์เรย์ที่ระบุมาแปลงเป็นอาร์เรย์ประเภทข้อมูลเป้าหมายที่หลากหลาย

ตัวอย่าง

import numpy as np
# Create a numpy array
a = np.array([21.23, 13.1, 52.1, 8, 255])
# Print the array
print(a)
# Print the array dat type
print(a.dtype)
# Convert the array data type to int32
a_int = a.astype('int32')
print(a_int)
print(a_int.dtype)
# Convert the array data type to str
a_str = a.astype('str')
print(a_str)
print(a_str.dtype)
# Convert the array data type to complex
a_cmplx = a.astype('complex64')
print(a_cmplx)
print(a_cmplx.dtype)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

[ 21.23 13.1 52.1 8. 255. ]
float64
[ 21 13 52 8 255]
int32
['21.23' '13.1' '52.1' '8.0' '255.0']
<U32
[ 21.23+0.j 13.1 +0.j 52.1 +0.j 8. +0.j 255. +0.j]
complex64