Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapakah saya Mendapat \'Pandas Hashtable KeyError\' Apabila Mengakses Lajur DataFrame?
Penyelesaian Masalah"Ralat: Pandas Hashtable KeyError"
Apabila cuba mendapatkan semula lajur tertentu daripada DataFrame panda, anda mungkin menghadapi "hashtable keyerror." Ralat ini berlaku apabila nama lajur yang ditentukan tidak wujud dalam DataFrame.
Penyiasatan:
Mulakan dengan mengesahkan nama lajur sebenar dalam DataFrame. Gunakan kod berikut untuk menyenaraikan nama lajur, memastikan anda mengalih keluar sebarang ruang putih di hadapan atau di belakang:
print(reviews_new.columns.tolist())
Potensi Penyelesaian:
1. Ruang putih dalam Nama Lajur
Jika nama lajur mengandungi ruang putih, anda boleh:
Kosongkan ruang putih daripada nama lajur:
reviews_new.columns = reviews_new.columns.str.strip()
Gunakan ruang skipinitial semasa membaca fail CSV:
reviews_new = pd.read_csv("D:\aviva.csv", skipinitialspace=True)
2. Pemisah Tersuai
Jika fail CSV menggunakan pemisah selain daripada koma lalai (,), anda perlu menentukannya menggunakan parameter sep:
Koma bertitik sebagai pemisah:
reviews_new = pd.read_csv("D:\aviva.csv", sep=';')
Ruang putih sebagai pemisah:
# sep is whitespace reviews_new = pd.read_csv("D:\aviva.csv", sep='\s+') # Another option for whitespaces as separator reviews_new = pd.read_csv("D:\aviva.csv", delim_whitespace=True)
3. Nama Lajur Tiada
Jika DataFrame tidak mempunyai nama lajur, kod berikut akan mendapatkan semula nilai lajur menggunakan indeks DataFrame:
print(df.index) print(df.index.get_level_values('column_name'))
Nota Tambahan:
Atas ialah kandungan terperinci Mengapakah saya Mendapat 'Pandas Hashtable KeyError' Apabila Mengakses Lajur DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!