Nasıl düzeltilir: i̇lk argüman pandas nesnelerinin yinelenebilir bir örneği olmalıdır, "dataframe" türünde bir nesne ilettiniz;
Python kullanırken karşılaşabileceğiniz yaygın bir hata:
TypeError: first argument must be an iterable of pandas objects, you passed an object
of type "DataFrame"
Bu hata genellikle, DataFrame adlarını parantez içine almadan iki panda DataFrame’i birbirine eklemek için concat() işlevini kullanmaya çalıştığınızda ortaya çıkar.
Aşağıdaki örnekte bu hatanın pratikte nasıl çözüleceği gösterilmektedir.
Hata nasıl yeniden oluşturulur?
Aşağıdaki iki panda DataFrame’e sahip olduğumuzu varsayalım:
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
Şimdi iki DataFrame’i tek bir DataFrame’e eklemek için concat() işlevini kullanmaya çalıştığımızı varsayalım:
#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"
Concat() işlevinde DataFrame adlarını parantez içine alamadığımız için bir hata alıyoruz.
Hata nasıl düzeltilir?
Bu hatayı çözmenin yolu, DataFrame adlarını aşağıdaki gibi concat() işlevinde köşeli parantez içine almaktır:
#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
Bu sefer iki DataFrame’i herhangi bir hata olmadan başarıyla birleştirebildiğimizi unutmayın.
Ek kaynaklar
Aşağıdaki eğitimlerde Python’daki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:
Python’da Nasıl Düzeltilir: ‘numpy.ndarray’ nesnesi çağrılabilir değil
Nasıl düzeltilir: TypeError: ‘numpy.float64’ nesnesi çağrılabilir değil
Nasıl Onarılır: Tür Hatası: Beklenen Dize veya Bayt Nesnesi