Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memisahkan Teks dalam Lajur Panda kepada Berbilang Baris?

Bagaimana untuk Memisahkan Teks dalam Lajur Panda kepada Berbilang Baris?

DDD
DDDasal
2024-11-11 01:02:03687semak imbas

How to Split Text in a Pandas Column into Multiple Rows?

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!

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