Memisahkan Teks dalam Lajur kepada Berbilang Baris menggunakan Panda
Apabila mengendalikan fail CSV yang besar, adalah perlu untuk memanipulasi data dengan cekap. Satu tugas biasa adalah untuk memisahkan teks dalam lajur kepada berbilang baris. Ini boleh dicapai menggunakan Pandas, perpustakaan manipulasi data yang berkuasa dalam Python.
Andaikan kita mempunyai fail CSV dengan lajur bernama "Seatblocks" yang mengandungi nilai teks yang dipisahkan oleh ruang dan titik bertindih. Matlamat kami adalah untuk membahagikan setiap nilai dalam lajur ini kepada baris individu, mencipta lajur baharu untuk setiap bahagian yang dipisahkan bertindih.
CustNum CustomerName ItemQty Item Seatblocks ItemExt 32363 McCartney, Paul 3 F04 2:218:10:4,6 60 31316 Lennon, John 25 F01 1:13:36:1,12 1:13:37:1,13 300
Untuk membahagikan lajur "Sekat tempat duduk" mengikut ruang dan memberikan setiap bahagian baris yang berasingan, kami menggunakan kod berikut:
s = df['Seatblocks'].str.split(' ').apply(Series, 1).stack() s.index = s.index.droplevel(-1) s.name = 'Seatblocks' del df['Seatblocks'] df = df.join(s)
Kod ini menghasilkan output berikut:
CustNum CustomerName ItemQty Item ItemExt Seatblocks 0 32363 McCartney, Paul 3 F04 60 2:218:10:4,6 1 31316 Lennon, John 25 F01 300 1:13:36:1,12 1 31316 Lennon, John 25 F01 300 1:13:37:1,13
Untuk memisahkan setiap rentetan yang dipisahkan bertindih dalam lajurnya sendiri, kita boleh menggunakan kod berikut:
df.join(s.apply(lambda x: Series(x.split(':'))))
Ini menghasilkan perkara berikut:
CustNum CustomerName ItemQty Item ItemExt 0 1 2 3 0 32363 McCartney, Paul 3 F04 60 2 218 10 4,6 1 31316 Lennon, John 25 F01 300 1 13 36 1,12 1 31316 Lennon, John 25 F01 300 1 13 37 1,13
Kaedah ini menyediakan cara yang berkesan untuk memisahkan teks dalam lajur kepada berbilang baris, membolehkan manipulasi dan analisis data selanjutnya.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Teks dalam Lajur Panda kepada Berbilang Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!