วิธีแก้ไข: อาร์กิวเมนต์แรกจะต้องทำซ้ำได้กับวัตถุ pandas คุณส่งผ่านวัตถุประเภท “dataframe”;


ข้อผิดพลาดทั่วไปที่คุณอาจพบเมื่อใช้ Python คือ:

 TypeError: first argument must be an iterable of pandas objects, you passed an object
           of type "DataFrame"

ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อคุณพยายามใช้ฟังก์ชัน concat() เพื่อเพิ่ม DataFrames แพนด้าสองตัวเข้าด้วยกันโดยไม่ต้องใส่ชื่อ DataFrame ในวงเล็บ

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

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

สมมติว่าเรามี DataFrames แพนด้าสองตัวต่อไปนี้:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' x ': [25, 14, 16, 27, 20,15, 14],
                    ' y ': [5, 7, 7, 5, 7, 6, 9],
                    ' z ': [8, 8, 10, 6, 6, 9, 6]})

print (df1)

    X Y Z
0 25 5 8
1 14 7 8
2 16 7 10
3 27 5 6
4 20 7 6
5 15 6 9
6 14 9 6

#create second DataFrame 
df2 = pd. DataFrame ({' x ': [58, 60, 65],
                    ' y ': [14, 22, 23],
                    ' z ': [9, 12, 19]})

print (df2)

    X Y Z
0 58 14 9
1 60 22 12
2 65 23 19

ตอนนี้สมมติว่าเราพยายามใช้ฟังก์ชัน concat() เพื่อเพิ่ม DataFrames สองตัวลงใน DataFrame เดียว:

 #attempt to add two DataFrames together
combined = pd. concat (df1, df2, ignore_index= True )

#view final DataFrame
print (combined)

TypeError: first argument must be an iterable of pandas objects, you passed an object
of type "DataFrame"

เราได้รับข้อผิดพลาดเนื่องจากเราไม่สามารถใส่ชื่อ DataFrame ไว้ในวงเล็บในฟังก์ชัน concat()

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

วิธีแก้ไขข้อผิดพลาดนี้คือเพียงใส่ชื่อ DataFrame ในวงเล็บเหลี่ยมในฟังก์ชัน concat() ดังนี้:

 #append two DataFrames together
combined = pd. concat ([df1, df2], ignore_index= True )

#view final DataFrame
print (combined)

    X Y Z
0 25 5 8
1 14 7 8
2 16 7 10
3 27 5 6
4 20 7 6
5 15 6 9
6 14 9 6
7 58 14 9
8 60 22 12
9 65 23 19

โปรดทราบว่าเราสามารถรวม DataFrames ทั้งสองได้สำเร็จโดยไม่มีข้อผิดพลาดในครั้งนี้

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

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

วิธีแก้ไขใน Python: ไม่สามารถเรียกวัตถุ ‘numpy.ndarray’ ได้
วิธีแก้ไข: TypeError: ไม่สามารถเรียกวัตถุ ‘numpy.float64’ ได้
วิธีแก้ไข: ข้อผิดพลาดประเภท: สตริงที่คาดหวังหรือวัตถุไบต์

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

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