วิธีแทนที่ค่าลบด้วยศูนย์ใน numpy
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อแทนที่ค่าลบด้วยศูนย์ใน NumPy:
my_array[my_array < 0 ] = 0
ไวยากรณ์นี้ใช้ได้กับอาร์เรย์ NumPy 1D และ 2D
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่างที่ 1: แทนที่ค่าลบด้วยศูนย์ในอาร์เรย์ 1D NumPy
รหัสต่อไปนี้แสดงวิธีแทนที่ค่าลบทั้งหมดด้วยศูนย์ในอาร์เรย์ NumPy:
import numpy as np
#create 1D NumPy array
my_array = np. array ([4, -1, 6, -3, 10, 11, -14, 19, 0])
#replace negative values with zero in array
my_array[my_array < 0 ] = 0
#view updated array
print (my_array)
[4 0 6 0 10 11 0 19 0]
โปรดทราบว่าค่าลบทุกค่าในอาร์เรย์เดิมจะถูกแทนที่ด้วยศูนย์
ตัวอย่างที่ 2: แทนที่ค่าลบด้วยศูนย์ในอาร์เรย์ 2D NumPy
สมมติว่าเรามีอาร์เรย์ 2D NumPy ต่อไปนี้:
import numpy as np
#create 2D NumPy array
my_array = np. array ([3, -5, 6, 7, -1, 0, -5, 9, 4, 3, -5, 1]). reshape (4.3)
#view 2D NumPy array
print (my_array)
[[ 3 -5 6]
[ 7 -1 0]
[-5 9 4]
[3 -5 1]]
เราสามารถใช้โค้ดต่อไปนี้เพื่อแทนที่ค่าลบทั้งหมดด้วยศูนย์ในอาร์เรย์ NumPy:
#replace all negative values with zero in 2D array
my_array[my_array < 0 ] = 0
#view updated array
print (my_array)
[[3 0 6]
[7 0 0]
[0 9 4]
[3 0 1]]
โปรดทราบว่าค่าลบทั้งหมดในอาร์เรย์ 2D ดั้งเดิมจะถูกแทนที่ด้วยศูนย์
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีทำงานทั่วไปอื่น ๆ ใน NumPy:
วิธีเติมอาร์เรย์ NumPy ด้วยค่า
วิธีลบองค์ประกอบเฉพาะออกจากอาร์เรย์ NumPy
วิธีแทนที่องค์ประกอบในอาร์เรย์ NumPy
วิธีรับแถวเฉพาะจากอาร์เรย์ NumPy