วิธีแก้ไข: วัตถุ '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
วิธีแก้ไข: คอลัมน์ซ้อนทับกันแต่ไม่ได้ระบุส่วนต่อท้าย