Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah anda membahagikan teks dalam lajur kepada berbilang baris dalam DataFrame panda?

Bagaimanakah anda membahagikan teks dalam lajur kepada berbilang baris dalam DataFrame panda?

Barbara Streisand
Barbara Streisandasal
2024-11-10 20:55:02373semak imbas

How do you split text in a column into multiple rows in a pandas DataFrame?

Memisahkan Teks dalam Lajur kepada Berbilang Baris

Dalam fail csv yang besar, pengguna sering menghadapi keperluan untuk memisahkan data teks dalam lajur kepada baris yang berasingan untuk analisis yang lebih mudah dan manipulasi data. Apabila bekerja dengan panda atau Python, beberapa kaedah boleh digunakan untuk mencapai objektif ini.

Satu pendekatan biasa melibatkan memanfaatkan kaedah pisah pada lajur yang dikehendaki untuk membahagikan teks berdasarkan pembatas yang ditentukan. Contohnya, untuk memisahkan lajur bernama "Sekat tempat duduk" mengikut ruang dan titik bertindih, sintaks berikut boleh digunakan:

s = df['Seatblocks'].str.split(' ').apply(Series, 1).stack()
s.index = s.index.droplevel(-1)  # align with df's index
s.name = 'Seatblocks'  # assign a name for joining

Selepas membelah lajur, lajur itu boleh dicantumkan semula dengan DataFrame asal menggunakan kaedah gabungan:

del df['Seatblocks']
df.join(s)

Sebagai alternatif, untuk membuat lajur berasingan bagi setiap rentetan yang dipisahkan bertindih, kod berikut boleh digunakan:

df.join(s.apply(lambda x: Series(x.split(':'))))

Dengan menggunakan kaedah ini, pengguna boleh membahagikan data teks kepada berbilang baris dengan berkesan, membolehkan analisis lebih terperinci dan manipulasi data dalam usaha pengaturcaraan mereka.

Atas ialah kandungan terperinci Bagaimanakah anda membahagikan teks dalam lajur kepada berbilang baris dalam DataFrame panda?. 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