วิธีแทนที่ค่าลบด้วยศูนย์ใน 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

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

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