Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Memisahkan Rentetan Dipisahkan Koma dalam Bingkai Data Pandas kepada Baris Berasingan?

Bagaimanakah Saya Boleh Memisahkan Rentetan Dipisahkan Koma dalam Bingkai Data Pandas kepada Baris Berasingan?

Mary-Kate Olsen
Lepaskan: 2025-01-01 02:21:08
asal
351 orang telah melayarinya

How Can I Split Comma-Separated Strings in a Pandas DataFrame into Separate Rows?

Memisahkan Rentetan Bingkai Data Panda Dipisahkan Koma kepada Baris Berasingan

Dalam bingkai data panda, selalunya terdapat satu atau lebih lajur mengandungi koma- nilai dipisahkan (CSV) yang perlu dibahagikan kepada baris individu. Untuk mencapai matlamat ini, beberapa pendekatan boleh digunakan:

Menggunakan Series.explode() atau DataFrame.explode():

Kaedah ini tersedia dalam Pandas 0.25.0 dan ke atas dan direka khusus untuk meletup seperti senarai lajur.

df.explode('column_name')
Salin selepas log masuk

Menggunakan Fungsi Vektor:

Untuk situasi yang melibatkan berbilang lajur senarai biasa dan berbilang, fungsi tervektor boleh menyediakan penyelesaian yang lebih serba boleh.

def explode(df, lst_cols, fill_value='', preserve_index=False):
    # ... (implementation details)
Salin selepas log masuk

Menukar Rentetan CSV kepada Senarai:

Jika matlamatnya adalah semata-mata untuk menukar rentetan CSV kepada senarai, ini boleh dicapai dengan membelah rentetan menggunakan str.split().

df['var1'] = df['var1'].str.split(',')
Salin selepas log masuk

Pendekatan Vektor Tersuai:

Pendekatan ini boleh mengendalikan berbilang lajur, termasuk kedua-dua lajur biasa dan senarai lajur.

exploded_df = pd.DataFrame({
    col: np.repeat(x[col].values, x[lst_col].str.len())
    for col in x.columns.difference([lst_col])
}).assign(**{lst_col: np.concatenate(x[lst_col].values)})[x.columns.tolist()]
Salin selepas log masuk

Penyelesaian Warisan:

Kaedah terdahulu melibatkan penggunaan .set_index(), .str.split(), .stack(), dan .reset_index() untuk memisahkan rentetan CSV dan menyusunnya ke dalam baris individu.

Pendekatan ini menawarkan pelbagai pilihan untuk memisahkan rentetan yang dipisahkan koma dalam bingkai data Pandas, memenuhi keperluan khusus dan pertimbangan prestasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memisahkan Rentetan Dipisahkan Koma dalam Bingkai Data Pandas kepada Baris Berasingan?. 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