วิธีแปลงอาร์เรย์ numpy ของการลอยเป็นจำนวนเต็ม


คุณสามารถใช้วิธีการต่อไปนี้เพื่อแปลงอาร์เรย์ NumPy ของ float เป็นอาร์เรย์ของจำนวนเต็ม:

วิธีที่ 1: แปลงจำนวนทศนิยมเป็นจำนวนเต็ม (ปัดเศษลง)

 rounded_down_integer_array = float_array. astype (int)

วิธีที่ 2: แปลงจำนวนทศนิยมเป็นจำนวนเต็ม (ปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุด)

 rounded_integer_array = (np. rint (some_floats)). astype (int)

วิธีที่ 3: แปลงจำนวนทศนิยมเป็นจำนวนเต็ม (ปัดขึ้น)

 rounded_up_integer_array = (np. ceil (float_array)). astype (int)

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับอาร์เรย์ลอย NumPy ต่อไปนี้:

 import numpy as np

#create NumPy array of floats
float_array = np. array ([2.33, 4.7, 5.1, 6.2356, 7.88, 8.5])

#view array
print (float_array)

[2.33 4.7 5.1 6.2356 7.88 8.5 ]

#view dtype of array
print ( float_array.dtype )

float64

ตัวอย่างที่ 1: แปลงทศนิยมเป็นจำนวนเต็ม (ปัดเศษลง)

รหัสต่อไปนี้แสดงวิธีการแปลงอาร์เรย์ NumPy ของ float เป็นอาร์เรย์ของจำนวนเต็ม โดยแต่ละ float จะถูกปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุด:

 #convert NumPy array of floats to array of integers (rounded down)
rounded_down_integer_array = float_array. astype (int)

#view array
print (rounded_down_integer_array)

[2 4 5 6 7 8]

#view dtype of array
print (rounded_down_integer_array. dtype )

int32

โปรดทราบว่าแต่ละ float จะถูกปัดเศษให้เป็นจำนวนเต็มที่ใกล้ที่สุด และอาร์เรย์ใหม่จะมีประเภทเป็น int32

ตัวอย่างที่ 2: แปลงจำนวนทศนิยมเป็นจำนวนเต็ม (ปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุด)

รหัสต่อไปนี้แสดงวิธีการแปลงอาร์เรย์ NumPy ของ float เป็นอาร์เรย์ของจำนวนเต็ม โดยแต่ละ float จะถูกปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุด:

 #convert NumPy array of floats to array of integers (rounded to nearest)
rounded_integer_array = (np. rint (float_array)). astype (int)

#view array
print (rounded_integer_array)

[2 5 5 6 8 8]

#view dtype of array
print(rounded_integer_array. dtype )

int32

โปรดทราบว่าแต่ละ float จะถูกปัดเศษให้เป็นจำนวนเต็มที่ใกล้ที่สุด และอาร์เรย์ใหม่จะมีประเภทเป็น int32

ตัวอย่างที่ 3: แปลงทศนิยมเป็นจำนวนเต็ม (ปัดเศษขึ้น)

รหัสต่อไปนี้แสดงวิธีการแปลงอาร์เรย์ NumPy ของ float เป็นอาร์เรย์ของจำนวนเต็ม โดยแต่ละ float จะถูกปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุด:

 #convert NumPy array of floats to array of integers (rounded up)
rounded_up_integer_array = (np. ceil (float_array)). astype (int)

#view array
print (rounded_up_integer_array)

[3 5 6 7 8 9]

#view dtype of array
print (rounded_up_integer_array. dtype )

int32

โปรดทราบว่าแต่ละ float จะถูกปัดเศษให้เป็นจำนวนเต็มที่ใกล้ที่สุด และอาร์เรย์ใหม่จะมีประเภทเป็น int32

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีทำงานทั่วไปอื่น ๆ ใน NumPy:

วิธีเติมอาร์เรย์ NumPy ด้วยค่า
วิธีลบองค์ประกอบเฉพาะออกจากอาร์เรย์ NumPy
วิธีแทนที่องค์ประกอบในอาร์เรย์ NumPy
วิธีรับแถวเฉพาะจากอาร์เรย์ NumPy

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *