Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapakah `DataFrame.append` Ditamatkan dan Bagaimana Saya Menambah Baris pada Pandas DataFrame?

Mengapakah `DataFrame.append` Ditamatkan dan Bagaimana Saya Menambah Baris pada Pandas DataFrame?

DDD
Lepaskan: 2024-12-05 21:38:15
asal
827 orang telah melayarinya

Why is `DataFrame.append` Deprecated and How Do I Add Rows to a Pandas DataFrame?

Ralat: Objek 'DataFrame' Tiada Atribut 'tambah'

Apabila cuba menambah kamus pada objek DataFrame, pengguna mungkin menghadapi mesej ralat "AttributeError: objek 'DataFrame' tidak mempunyai atribut 'tambah'." Walaupun DataFrame sebelum ini dilengkapi dengan kaedah tambah, ia telah dialih keluar dalam panda versi 2.0.

Penyelesaian

Untuk menambah data pada DataFrame, gunakan kaedah concat:

df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)
Salin selepas log masuk

Alternatif Penyelesaian

Jika indeks ialah RangeIndex, atribut loc juga boleh digunakan:

df.loc[len(df)] = new_row # Note: Only use with a RangeIndex!
Salin selepas log masuk

Mengapa Perubahan?

Kaedah tambah telah dialih keluar kerana ia merupakan operasi yang tidak cekap, terutamanya apabila diulang. Tidak seperti list.append, yang beroperasi di tempatnya, lampiran DataFrame mencipta DataFrame baharu. Ini menjadikan operasi sisipan berulang kuadratik dalam kerumitan masa.

Amalan Terbaik untuk Sisipan Berulang

Daripada menggunakan tambah atau concat berulang kali, kumpulkan item baharu ke dalam senarai dan tukar mereka ke DataFrame pada penghujung gelung. Kemudian, gabungkan DataFrame baharu kepada yang asal.

lst = []

for new_row in items_generation_logic:
    lst.append(new_row)

# create extension
df_extended = pd.DataFrame(lst, columns=['A', 'B', 'C'])

# concatenate to original
out = pd.concat([df, df_extended])
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah `DataFrame.append` Ditamatkan dan Bagaimana Saya Menambah Baris 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