วิธีแก้ไข: valueerror: อาร์เรย์ทั้งหมดต้องมีความยาวเท่ากัน
ข้อผิดพลาดที่คุณอาจพบเมื่อใช้นุ่นคือ:
ValueError : All arrays must be of the same length
ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามสร้าง DataFrame ของ pandas และไม่ใช่ทุกคอลัมน์ใน DataFrame ที่มีความยาวเท่ากัน
ตัวอย่างต่อไปนี้แสดงวิธีการแก้ไขข้อผิดพลาดนี้ในทางปฏิบัติ
วิธีการทำซ้ำข้อผิดพลาด
สมมติว่าเราพยายามสร้าง DataFrame แพนด้าต่อไปนี้:
import pandas as pd #define arrays to use as columns in DataFrame team = ['A', 'A', 'A', 'A', 'B', 'B', 'B'] position = ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'] points = [5, 7, 7, 9, 12, 9, 9, 4] #attempt to create DataFrame from arrays df = pd. DataFrame ({' team ': team, ' position ': position, ' dots ': dots}) ValueError : All arrays must be of the same length
เราได้รับข้อผิดพลาดที่แจ้งว่าแต่ละอาร์เรย์มีความยาวไม่เท่ากัน
เราสามารถตรวจสอบได้โดยการพิมพ์ความยาวของแต่ละอาร์เรย์:
#print length of each array
print ( len (team), len (position), len (points))
7 8 8
เราจะเห็นว่าตาราง ‘ทีม’ มี 7 องค์ประกอบเท่านั้น ในขณะที่ตาราง ‘ตำแหน่ง’ และ ‘คะแนน’ แต่ละรายการมี 8 องค์ประกอบ
วิธีการแก้ไขข้อผิดพลาด
วิธีที่ง่ายที่สุดในการแก้ไขข้อผิดพลาดนี้คือเพียงตรวจสอบให้แน่ใจว่าแต่ละอาร์เรย์ที่เราใช้มีความยาวเท่ากัน:
import pandas as pd #define arrays to use as columns in DataFrame team = ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'] position = ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'] points = [5, 7, 7, 9, 12, 9, 9, 4] #create DataFrame from arrays df = pd. DataFrame ({' team ': team, ' position ': position, ' dots ': dots}) #view DataFrame df team position points 0 A G 5 1 A G 7 2 A F 7 3 A F 9 4 B G 12 5 B G 9 6 B F 9 7 B F 4
โปรดทราบว่าแต่ละอาร์เรย์ในครั้งนี้มีความยาวเท่ากัน
ดังนั้นเมื่อเราใช้อาร์เรย์เพื่อสร้าง DataFrame ของ pandas เราจะไม่ได้รับข้อผิดพลาดเนื่องจากแต่ละคอลัมน์มีความยาวเท่ากัน
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่นๆ ใน Python:
วิธีแก้ไข KeyError ใน Pandas
วิธีแก้ไข: ValueError: ไม่สามารถแปลง float NaN เป็น int
วิธีแก้ไข: ValueError: ตัวถูกดำเนินการไม่สามารถออกอากาศด้วยรูปร่างได้