Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Memilih Berbilang Lajur dengan Cekap dalam Bingkai Data Pandas?

Bagaimanakah Saya Memilih Berbilang Lajur dengan Cekap dalam Bingkai Data Pandas?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 21:19:151021semak imbas

How Do I Efficiently Select Multiple Columns in a Pandas DataFrame?

Memilih Berbilang Lajur dalam Bingkai Data Pandas

Dalam pustaka Pandas Python, memilih lajur tertentu daripada bingkai data ialah operasi biasa. Walau bagaimanapun, percubaan untuk melakukan ini dalam cara tertentu mungkin menghadapi ralat.

Percubaan Tidak Berjaya:

Menggunakan tatatanda hirisan seperti df['a':'b'] atau df .ix[:, 'a':'b'] untuk memilih lajur antara 'a' dan 'b' gagal kerana nama lajur ialah rentetan dan tidak boleh dihiris dengan cara itu.

Pilihan Berjaya:

Menggunakan Nama Lajur:

Untuk memilih lajur tertentu menggunakan namanya, sediakan senarai nama lajur yang dikehendaki dalam petak kurungan:

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

Menggunakan Indeks Lajur:

Jika penting untuk memilih lajur mengikut indeksnya (bukan namanya), gunakan iloc:

df1 = df.iloc[:, 0:2]  # Note: Python slicing is exclusive of the ending index.

Pertimbangan:

Lihat vs. Salin:

Kaedah yang diterangkan di atas mengembalikan pandangan tentang lajur yang dikehendaki, bukan salinan. Untuk mencipta salinan baharu dalam ingatan, gunakan kaedah .copy():

df1 = df.iloc[0, 0:2].copy()  # Ensures modifications to df1 do not alter df

Menggunakan Indeks Lajur dengan get_loc:

Untuk mendapatkan indeks lajur tertentu , gunakan fungsi get_loc kaedah lajur:

column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}

Ini mengembalikan kamus di mana kuncinya ialah indeks lajur dan nilainya ialah nama lajur. Anda kemudian boleh menggunakan indeks ini dengan iloc untuk memilih lajur yang diingini.

Atas ialah kandungan terperinci Bagaimanakah Saya Memilih Berbilang Lajur dengan Cekap dalam Bingkai Data Pandas?. 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