Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membahagikan Lajur Senarai Panda kepada Berbilang Lajur dengan Cekap?

Bagaimana untuk Membahagikan Lajur Senarai Panda kepada Berbilang Lajur dengan Cekap?

Mary-Kate Olsen
Lepaskan: 2024-12-17 13:02:26
asal
723 orang telah melayarinya

How to Efficiently Split a Pandas Column of Lists into Multiple Columns?

Memisahkan Lajur Senarai Panda kepada Berbilang Lajur

Dalam penerokaan data, selalunya perlu untuk menstruktur semula lajur DataFrame ke dalam format yang lebih terurus. Satu senario sedemikian melibatkan pembahagian lajur yang mengandungi senarai kepada berbilang lajur.

Pertimbangkan DataFrame dengan satu lajur bernama "pasukan", yang mengandungi senarai nama pasukan:

import pandas as pd

df = pd.DataFrame({
    "teams": [[
        "SF", 
        "NYG"
    ] for _ in range(7)]
})
Salin selepas log masuk

Untuk membahagikan ini lajur "pasukan" kepada dua lajur, "pasukan1" dan "pasukan2," kita boleh memanfaatkan pembina DataFrame dengan senarai yang dibuat dengan kaedah to_list.

Pilihan 1: Mengubah suai DataFrame Sedia Ada

Menggunakan kaedah to_list, kita boleh menukar senarai "pasukan" menjadi senarai senarai, yang boleh digunakan untuk mencipta lajur "team1" dan "team2" baharu:

df[['team1', 'team2']] = pd.DataFrame(df['teams'].tolist(), index=df.index)
Salin selepas log masuk

Operasi ini mengubah suai DataFrame asal dengan lajur baharu:

       teams team1 team2
0  [SF, NYG]    SF   NYG
1  [SF, NYG]    SF   NYG
2  [SF, NYG]    SF   NYG
3  [SF, NYG]    SF   NYG
4  [SF, NYG]    SF   NYG
5  [SF, NYG]    SF   NYG
6  [SF, NYG]    SF   NYG
Salin selepas log masuk

Pilihan 2: Mencipta DataFrame Baharu

Sebagai alternatif, jika dikehendaki, kami boleh mencipta DataFrame baharu dengan lajur pisah:

df3 = pd.DataFrame(
    df['teams'].tolist(), 
    columns=['team1', 'team2']
)
Salin selepas log masuk

Operasi ini mencipta yang berasingan DataFrame:

  team1 team2
0    SF   NYG
1    SF   NYG
2    SF   NYG
3    SF   NYG
4    SF   NYG
5    SF   NYG
6    SF   NYG
Salin selepas log masuk

Sila ambil perhatian bahawa menggunakan fungsi apply(pd.Series) untuk mencapai pemisahan ini adalah lebih perlahan dan tidak disyorkan untuk set data yang lebih besar.

Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Lajur Senarai Panda kepada Berbilang Lajur 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