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]
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
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)
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 )
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'] ))
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 ))
6. Argumen Berbilang Lajur dengan .assign()
df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)
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
8. Tugasan Berasingan
df['column_new_1'] = np.nan df['column_new_2'] = 'dogs' df['column_new_3'] = 3
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!