Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapakah saya Mendapat \'Pandas Hashtable KeyError\' Apabila Mengakses Lajur DataFrame?

Mengapakah saya Mendapat \'Pandas Hashtable KeyError\' Apabila Mengakses Lajur DataFrame?

DDD
Lepaskan: 2024-11-16 10:09:02
asal
937 orang telah melayarinya

Why am I Getting a

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())
Salin selepas log masuk

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()
    Salin selepas log masuk
  • Gunakan ruang skipinitial semasa membaca fail CSV:

    reviews_new = pd.read_csv("D:\aviva.csv", skipinitialspace=True)
    Salin selepas log masuk

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=';')
    Salin selepas log masuk
  • 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)
    Salin selepas log masuk

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'))
Salin selepas log masuk

Nota Tambahan:

  • Untuk DataFrames dengan berbilang indeks (MultiIndex), gunakan get_level_values ​​untuk mendapatkan nilai lajur mengikut nama peringkat.
  • Pastikan nama lajur yang ditentukan sepadan dengan huruf besar dan huruf besar yang tepat bagi lajur dalam DataFrame.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan