วิธีแก้ไข: วัตถุ 'numpy.ndarray' ไม่มีแอตทริบิวต์ 'ผนวก'


ข้อผิดพลาดที่คุณอาจพบเมื่อใช้ NumPy คือ:

 AttributeError: 'numpy.ndarray' object has no attribute 'append'

ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามผนวกค่าตั้งแต่หนึ่งค่าขึ้นไปต่อท้ายอาร์เรย์ NumPy โดยใช้ฟังก์ชัน Python append() มาตรฐาน

เนื่องจาก NumPy ไม่มีแอตทริบิวต์ต่อท้าย จึงมีข้อผิดพลาดเกิดขึ้น เพื่อแก้ไขปัญหานี้ คุณควรใช้ np.append() แทน

ตัวอย่างต่อไปนี้แสดงวิธีการแก้ไขข้อผิดพลาดนี้ในทางปฏิบัติ

วิธีการทำซ้ำข้อผิดพลาด

สมมติว่าเรากำลังพยายามเพิ่มค่าใหม่ต่อท้ายอาร์เรย์ NumPy โดยใช้ฟังก์ชัน Python append() มาตรฐาน:

 import numpy as np

#define NumPy array
x = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23])

#attempt to add the value '25' to end of NumPy array
x. append (25)

AttributeError: 'numpy.ndarray' object has no attribute 'append'

เราได้รับข้อผิดพลาดเนื่องจาก NumPy ไม่มีแอตทริบิวต์ต่อท้าย

วิธีการแก้ไขข้อผิดพลาด

เพื่อแก้ไขข้อผิดพลาดนี้ เราเพียงแค่ต้องใช้ np.append() แทน:

 import numpy as np

#define NumPy array
x = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23])

#append the value '25' to end of NumPy array
x = np. append (x, 25)

#view updated array
x

array([ 1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23, 25])

การใช้ np.append() ทำให้เราสามารถเพิ่มค่า “25” ที่ส่วนท้ายของอาร์เรย์ได้สำเร็จ

โปรดทราบว่าหากคุณต้องการเพิ่มอาร์เรย์ NumPy ต่อท้ายอาร์เรย์ NumPy อื่น วิธีที่ดีที่สุดคือใช้ฟังก์ชัน np.concatenate() :

 import numpy as np

#define two NumPy arrays
a = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23])
b = np. array ([25, 26, 26, 29])

#concatenate two arrays together
c = np. concatenate ((a, b))

#view resulting array
vs

array([ 1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23, 25, 26, 26, 29])

โปรดดูเอกสารออนไลน์สำหรับคำอธิบายโดยละเอียดเกี่ยวกับฟังก์ชันอาร์เรย์และการต่อข้อมูล:

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่นๆ ใน Python:

วิธีแก้ไข: ไม่มีโมดูลชื่อแพนด้า
วิธีแก้ไข: ไม่มีโมดูลชื่อ numpy
วิธีแก้ไข: คอลัมน์ซ้อนทับกันแต่ไม่ได้ระบุส่วนต่อท้าย

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

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