Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menambah Lajur Baharu dengan Cekap pada Pandas DataFrame?

Bagaimanakah Saya Boleh Menambah Lajur Baharu dengan Cekap pada Pandas DataFrame?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-17 06:41:25889semak imbas

How Can I Efficiently Add a New Column to a Pandas DataFrame?

Menambah Lajur Baharu pada DataFrame Sedia Ada

Apabila bekerja dengan panda DataFrames, selalunya menjadi perlu untuk menambah lajur baharu pada bingkai data sedia ada. Terdapat pelbagai pendekatan untuk mencapai matlamat ini, masing-masing mempunyai kelebihan dan kelemahan tersendiri.

1. Menggunakan tugasan (Disyorkan untuk Pandas 0.17 dan ke atas):

import pandas as pd
import numpy as np

# Generate a sample DataFrame
df1 = pd.DataFrame({
    'a': [0.671399, 0.446172, 0.614758],
    'b': [0.101208, -0.243316, 0.075793],
    'c': [-0.181532, 0.051767, -0.451460],
    'd': [0.241273, 1.577318, -0.012493]
})

# Add a new column 'e' with random values
sLength = len(df1['a'])
df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)

2. Menggunakan loc[row_index, col_indexer] = nilai:

# Add a new column 'f' using loc
df1.loc[:, 'f'] = pd.Series(np.random.randn(sLength), index=df1.index)

3. Menggunakan df[new_column_name] = pd.Series(values, index=df.index):

# Add a new column 'g' using the old method
df1['g'] = pd.Series(np.random.randn(sLength), index=df1.index)

Ingat bahawa kaedah yang terakhir boleh mencetuskan SettingWithCopyWarning dalam versi panda yang lebih baharu. Menggunakan tetapan atau loc biasanya disyorkan untuk kecekapan dan kejelasan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Lajur Baharu dengan Cekap pada Pandas DataFrame?. 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