Bagaimana untuk Menambah Berbilang Lajur dengan Cekap pada Pandas DataFrame?

DDD
Lepaskan: 2024-10-25 09:54:02
asal
383 orang telah melayarinya

How to Efficiently Add Multiple Columns to a Pandas DataFrame?

Menetapkan Berbilang Lajur kepada Pandas DataFrame Serentak

Dalam konteks bekerja dengan bingkai data dalam Pandas, persoalan timbul tentang cara menambah berbilang dengan cekap lajur dalam satu tugasan.

Percubaan Awal dan Kekurangannya

Ramai pengguna secara semula jadi mencuba sintaks berikut untuk menyelesaikan tugasan ini:

df[['column_new_1', 'column_new_2', 'column_new_3']] = [np.nan, 'dogs', 3]
Salin selepas log masuk

Walau bagaimanapun , pendekatan ini gagal kerana Pandas memerlukan sebelah kanan untuk menjadi DataFrame apabila membuat lajur baharu dengan sintaks senarai lajur.

Pendekatan Alternatif

Berbilang penyelesaian yang berdaya maju wujud untuk mencapai hasil yang diinginkan. Berikut ialah beberapa pendekatan yang disyorkan:

1. Tugasan Satu Lajur dengan Pembongkaran Iterator

df['column_new_1'], df['column_new_2'], df['column_new_3'] = np.nan, 'dogs', 3
Salin selepas log masuk

2. Pengembangan DataFrame dengan Pandas.DataFrame()

df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)
Salin selepas log masuk

3. Penyatuan dengan Pandas.concat

df = pd.concat(
    [
        df,
        pd.DataFrame(
            [[np.nan, 'dogs', 3]], 
            index=df.index, 
            columns=['column_new_1', 'column_new_2', 'column_new_3']
        )
    ], axis=1
)
Salin selepas log masuk

4. Sertai dengan Pandas.sertai

df = df.join(pd.DataFrame(
    [[np.nan, 'dogs', 3]], 
    index=df.index, 
    columns=['column_new_1', 'column_new_2', 'column_new_3']
))
Salin selepas log masuk

5. Peluasan Kamus dengan Pandas.sertai

df = df.join(pd.DataFrame(
    {
        'column_new_1': np.nan,
        'column_new_2': 'dogs',
        'column_new_3': 3
    }, index=df.index
))
Salin selepas log masuk

6. Argumen Berbilang Lajur dengan .assign()

df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)
Salin selepas log masuk

7. Penciptaan Lajur dan Tugasan

new_cols = ['column_new_1', 'column_new_2', 'column_new_3']
new_vals = [np.nan, 'dogs', 3]
df = df.reindex(columns=df.columns.tolist() + new_cols)  # add empty cols
df[new_cols] = new_vals  # multi-column assignment works for existing cols
Salin selepas log masuk

8. Tugasan Berasingan

df['column_new_1'] = np.nan
df['column_new_2'] = 'dogs'
df['column_new_3'] = 3
Salin selepas log masuk

Pilihan pendekatan bergantung pada keperluan khusus pengguna. Untuk kesederhanaan dan kecekapan, tugasan berasingan selalunya menjadi penyelesaian pilihan. Walau bagaimanapun, jika menambah berbilang lajur dengan jenis atau nilai yang sama diingini, pendekatan lain memberikan fleksibiliti dan ringkas.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Berbilang Lajur dengan Cekap pada Pandas DataFrame?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!