วิธีแก้ไข: 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: ตัวถูกดำเนินการไม่สามารถออกอากาศด้วยรูปร่างได้

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

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