วิธีแปลงอาร์เรย์ 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