Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menambah Lajur Baharu dengan Cekap pada Pandas DataFrame dalam Python?

Bagaimana untuk Menambah Lajur Baharu dengan Cekap pada Pandas DataFrame dalam Python?

DDD
DDDasal
2024-12-22 11:32:09392semak imbas

How to Efficiently Add a New Column to a Pandas DataFrame in Python?

Menambah Lajur Baharu pada DataFrame Sedia Ada

Dalam tugasan manipulasi data, selalunya perlu menambah DataFrames sedia ada dengan lajur tambahan. Di sini, kami menangani persoalan bagaimana untuk mencapai ini dalam Python menggunakan Panda.

Pernyataan Masalah

Pertimbangkan DataFrame berikut dengan lajur dan baris diindeks dengan nombor tidak berterusan :

          a         b         c         d
2  0.671399  0.101208 -0.181532  0.241273
3  0.446172 -0.243316  0.051767  1.577318
5  0.614758  0.075793 -0.451460 -0.012493

Matlamat kami adalah untuk menambah lajur baharu, 'e', ​​pada DataFrame ini tanpa mengubah data sedia ada. Lajur baharu hendaklah mempunyai panjang yang sama dengan DataFrame.

Penyelesaian

Kaedah 1 (tugaskan):

The kaedah paling berkesan untuk menambah Siri nilai sebagai lajur baharu pada DataFrame menggunakan tugaskan fungsi:

df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)

di mana:

  • df1 ialah DataFrame asal
  • sLength ialah panjang DataFrame asal
  • np.random .randn(sLength) menjana Siri rawak nilai

Kaedah 2 (loc):

Kaedah lain ialah menggunakan aksesori loc untuk menetapkan nilai lajur baharu :

df1.loc[:,'f'] = pd.Series(np.random.randn(sLength), index=df1.index)

di mana:

  • df1 ialah DataFrame asal
  • 'f' ialah nama lajur baharu
  • pd.Series(np.random.randn(sLength)) menjana Siri nilai rawak
  • df1.index menetapkan indeks lajur baharu agar sepadan dengan yang asal DataFrame

Kedua-dua kaedah menambah lajur baharu 'e' yang diingini dengan berkesan pada DataFrame, mengekalkan data sedia ada.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Lajur Baharu dengan Cekap pada Pandas DataFrame dalam Python?. 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