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
Mary-Kate Olsenasal
2024-12-17 13:02:26778semak imbas

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)]
})

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)

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

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']
)

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

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!

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