Cara memperbaiki keyerror di pandas (dengan contoh)


Kesalahan yang mungkin Anda temui saat menggunakan pandas adalah:

 KeyError : 'column_name'

Kesalahan ini terjadi ketika Anda mencoba mengakses kolom pandas DataFrame yang tidak ada.

Biasanya, kesalahan ini terjadi ketika Anda salah mengeja nama kolom atau memasukkan spasi yang tidak disengaja sebelum atau sesudah nama kolom.

Contoh berikut menunjukkan cara memperbaiki kesalahan ini dalam praktiknya.

Bagaimana cara mereproduksi kesalahan tersebut

Misalkan kita membuat DataFrame panda berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Selanjutnya, misalkan kita mencoba mencetak nilai pada kolom bernama “titik”:

 #attempt to print values in 'point' column
print (df[' point '])

KeyError Traceback (most recent call last)
/srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   3360 try:
-> 3361 return self._engine.get_loc(casted_key)
   3362 except KeyError as err:

/srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

/srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError : 'dot'

Karena tidak ada kolom “titik” di DataFrame kami, kami menerima KeyError .

Bagaimana cara memperbaiki kesalahan tersebut

Cara untuk memperbaiki kesalahan ini adalah dengan memastikan kita mengeja nama kolom dengan benar.

Jika kita tidak yakin dengan semua nama kolom di DataFrame, kita bisa menggunakan sintaks berikut untuk mencetak setiap nama kolom:

 #display all column names of DataFrame
print ( df.columns.tolist () )

['points', 'assists', 'rebounds']

Kita dapat melihat bahwa ada kolom bernama “poin”, jadi kita dapat memperbaiki kesalahan kita dengan mengeja nama kolom dengan benar:

 #print values in 'points' column
print (df[' points '])

0 25
1 12
2 15
3 14
4 19
5 23
6 25
7 29
Name: points, dtype: int64

Kami menghindari kesalahan karena kami mengeja nama kolom dengan benar.

Sumber daya tambahan

Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya dengan Python:

Cara Memperbaiki: Kolom tumpang tindih tetapi tidak ada akhiran yang ditentukan
Cara Memperbaiki: Objek ‘numpy.ndarray’ tidak memiliki atribut ‘append’
Cara memperbaiki: Jika Anda menggunakan semua nilai skalar, Anda harus meneruskan indeks

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *