Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Saya Mendapat Ralat Kunci Semasa Mengakses Lajur dalam Bingkai Data Pandas Saya?

Mengapa Saya Mendapat Ralat Kunci Semasa Mengakses Lajur dalam Bingkai Data Pandas Saya?

Patricia Arquette
Lepaskan: 2024-11-15 12:07:02
asal
1029 orang telah melayarinya

Why Am I Getting a KeyError When Accessing Columns in My Pandas DataFrame?

Ralat: panda HashTable KeyError

Apabila cuba mencetak lajur tertentu daripada DataFrame panda, anda mungkin mengalami KeyError jika nama lajur yang diminta tidak wujud dalam DataFrame. Isu ini boleh timbul disebabkan beberapa sebab, termasuk ruang putih tersembunyi dalam nama lajur atau tetapan pemisah yang salah semasa pembacaan CSV.

Untuk menyiasat isu ini dengan lebih lanjut, semak nama lajur sebenar dengan mencetak lajur DataFrame sebagai senarai:

print(reviews_new.columns.tolist())
Salin selepas log masuk

Penyelesaian yang mungkin termasuk:

Ruang putih dalam Nama Lajur:

  • Potongkan ruang putih daripada nama lajur menggunakan reviews_new.columns = reviews_new .columns.str.strip().
  • Sebagai alternatif, lulus skipinitialspace=Benar untuk read_csv.

Pemisah Salah:

  • Semak pemisah fail CSV dan lulus pemisah yang betul menggunakan parameter sep dalam read_csv. Contohnya:
reviews_new = pd.read_csv("D:\aviva.csv", sep=';')  # Semicolon separator
reviews_new = pd.read_csv("D:\aviva.csv", sep='\s+')  # Whitespace separator
Salin selepas log masuk

Ketiadaan Nama Lajur:

Jika DataFrame tidak mempunyai lajur dengan nama yang ditentukan, ralat berterusan. Untuk menyelesaikan masalah ini, pilih lajur pertama dengan mengakses atribut .index DataFrame. Contohnya:

print(reviews_new.index.get_level_values('col1'))  # For MultiIndex
Salin selepas log masuk

Dengan mengikuti langkah ini, anda boleh mengenal pasti dan menyelesaikan punca KeyError dan mengakses lajur yang dikehendaki dengan betul dalam DataFrame anda.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Kunci Semasa Mengakses Lajur dalam Bingkai Data Pandas Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan