Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membahagikan Lajur Rentetan dalam Bingkai Data Pandas kepada Dua Lajur Baharu dengan Cekap?

Bagaimana untuk Membahagikan Lajur Rentetan dalam Bingkai Data Pandas kepada Dua Lajur Baharu dengan Cekap?

Mary-Kate Olsen
Lepaskan: 2024-12-24 12:55:14
asal
841 orang telah melayarinya

How to Efficiently Split a String Column in a Pandas DataFrame into Two New Columns?

Bagaimanakah untuk Memisahkan Lajur Rentetan Bingkai Data kepada Dua Lajur?

versi TL;DR :

Untuk kes mudah mempunyai lajur teks dengan pembatas dan ingin mencipta dua lajur, penyelesaian paling mudah ialah:

df[['A', 'B']] = df['AB'].str.split(' ', n=1, expand=True)
Salin selepas log masuk

Secara terperinci:

Pendekatan Andy Hayden secara berkesan menunjukkan kuasa str.extract () kaedah. Walau bagaimanapun, untuk pemisahan mudah ke atas pemisah yang diketahui, kaedah .str.split() adalah mencukupi. Ia beroperasi pada lajur (Siri) rentetan dan mengembalikan lajur (Siri) senarai.

Atribut .str lajur membolehkan kami merawat setiap elemen dalam lajur sebagai rentetan dan menggunakan kaedah dengan cekap. Ia mempunyai antara muka pengindeksan untuk mendapatkan setiap elemen rentetan mengikut indeksnya, membolehkan kami memotong dan memotong senarai yang dikembalikan daripada .str.split().

Pembukaan tuple Python boleh digunakan untuk mencipta dua lajur berasingan daripada senarai menggunakan:

df['A'], df['B'] = df['AB'].str.split('-', n=1).str
Salin selepas log masuk

Sebagai alternatif, seseorang boleh menggunakan parameter expand=True dalam .str.split() untuk terus menjana dua lajur:

df[['A', 'B']] = df['AB'].str.split('-', n=1, expand=True)
Salin selepas log masuk

Versi expand=True adalah berfaedah apabila berurusan dengan belahan panjang yang berbeza, kerana ia mengendalikan kes sedemikian dengan memasukkan None nilai dalam lajur dengan tiada "berpecah".

Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Lajur Rentetan dalam Bingkai Data Pandas kepada Dua Lajur Baharu dengan Cekap?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan