Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Memilih Lajur dengan Betul dalam Pandas DataFrames?

Bagaimana untuk Memilih Lajur dengan Betul dalam Pandas DataFrames?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 13:26:241071semak imbas

How to Correctly Select Columns in Pandas DataFrames?

Pemilihan Lajur dalam Pandas DataFrames: Panduan Penyelesaian Masalah

Apabila bekerja dengan bingkai data Pandas, memilih lajur tertentu ialah tugas asas. Walau bagaimanapun, percubaan untuk mencapai ini menggunakan sintaks seperti df['a':'b'] atau df.ix[:, 'a':'b'] mungkin menghadapi halangan kerana ketidakupayaan untuk menghiris nama lajur sebagai rentetan.

Pilihan 1: Pemilihan Lajur Eksplisit

Untuk memilih lajur tertentu mengikut nama, penyelesaiannya terletak pada menghantar senarai nama lajur kepada sintaks __getitem__:

df1 = df[['a', 'b']]

Pendekatan ini mencipta paparan hanya lajur yang diingini.

Pilihan 2: Pemilihan Lajur Berangka

Jika mengindeks lajur secara berangka diutamakan, fungsi iloc boleh bekerja:

df1 = df.iloc[:, 0:2]

Perhatikan bahawa pengindeksan Python mengecualikan indeks penamat.

Salin vs. Paparan

Adalah penting untuk memahami perbezaan antara paparan dan salinan objek Pandas. Secara lalai, kaedah pertama mencipta salinan, manakala kaedah kedua mengembalikan pandangan yang merujuk lokasi memori yang sama dengan objek asal. Untuk mendapatkan salinan menggunakan kaedah kedua, gunakan kaedah .copy():

df1 = df.iloc[0, 0:2].copy()

Menggunakan Indeks Lajur

Untuk mengakses lajur mengikut nama menggunakan iloc, indeks lajur boleh diperoleh menggunakan fungsi get_loc:

column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}
df1 = df.iloc[:, [column_indices['a'], column_indices['b']]]

Atas ialah kandungan terperinci Bagaimana untuk Memilih Lajur dengan Betul dalam Pandas DataFrames?. 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