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
Patricia Arquetteasal
2024-11-15 12:07:021031semak imbas

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())

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

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

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:
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