Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa DataFrame panda Melemparkan AttributeError: Objek 'DataFrame' tidak mempunyai atribut 'tambah'?

Mengapa DataFrame panda Melemparkan AttributeError: Objek 'DataFrame' tidak mempunyai atribut 'tambah'?

Barbara Streisand
Lepaskan: 2024-12-07 12:11:12
asal
918 orang telah melayarinya

Why Does pandas DataFrame Throw an AttributeError: 'DataFrame' object has no attribute 'append'?

Ralat: Objek 'DataFrame' Tiada Atribut 'tambah'

Apabila cuba menambah kamus pada objek DataFrame, ralat berikut mungkin timbul:

AttributeError: Objek 'DataFrame' tidak mempunyai atribut 'append'

Walaupun wujud jelas kaedah "tambah" dalam DataFrame, isu ini boleh diselesaikan dengan memahami pengalihan keluarnya baru-baru ini.

Sebab Pembuangan

Dalam panda 2.0, kaedah "tambah" ialah tidak digunakan dan akhirnya dibuang kerana sifatnya yang bermasalah. Pengguna sering cuba meniru gelagat senarai Python dengan menggunakan "tambah" dalam satu gelung, yang membawa kepada ketidakcekapan. "tambah" dalam panda tidak mengubah suai DataFrame asal tetapi mencipta yang baharu, menghasilkan kerumitan O(n) untuk sisipan berulang.

Penyelesaian Alternatif

Kepada tambah kamus pada DataFrame, dua kaedah alternatif disyorkan:

1. Pandas Concatenation (concat)

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

Kaedah ini menggabungkan DataFrame asal dengan baris baharu sebagai DataFrame.

2. Pandas Loc (hanya untuk RangeIndex)

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

Kaedah ini menambah baris baharu dengan menetapkannya pada indeks yang tersedia seterusnya dalam DataFrame. Ambil perhatian bahawa ia hanya berfungsi apabila DataFrame mempunyai RangeIndex.

Menambah Berbilang Baris Dengan Berkesan

Jika berbilang baris perlu ditambah, pertimbangkan pendekatan berikut:

  1. Kumpul baris baharu dalam a senarai.
  2. Buat DataFrame daripada senarai.
  3. Sambungkan DataFrame baharu kepada DataFrame asal.

Ini memastikan penambahan cekap sambil mengelakkan overhed berulang " tambah" atau operasi "concat".

Atas ialah kandungan terperinci Mengapa DataFrame panda Melemparkan AttributeError: Objek 'DataFrame' tidak mempunyai atribut 'tambah'?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan