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
Barbara Streisandasal
2024-12-07 12:11:12917semak imbas

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)

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!

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!

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