Ralat objek "DataFrame' tidak mempunyai atribut 'tambah'": Sebaliknya menggunakan 'concat'
Dalam panda, kaedah 'tambah' telah dialih keluar pada versi 2.0 dan digantikan dengan 'concat'. Ini bermakna anda tidak lagi boleh menggunakan DataFrame.append() untuk menambah kamus sebagai baris baharu pada DataFrame. Untuk menyelesaikan ralat ini dan mencapai kefungsian yang diingini, anda harus menggunakan 'concat' sebaliknya.
Menggunakan 'concat'
Untuk menambahkan kamus sebagai baris baharu pada a DataFrame menggunakan 'concat', ikut langkah berikut:
Tukar kamus kepada DataFrame dengan satu baris:
new_row_df = pd.DataFrame([new_row])
Sambungkan baris baharu DataFrame dengan DataFrame asal:
df = pd.concat([df, new_row_df], ignore_index=True)
Alternatif: Menggunakan ' loc' (dengan Berhati-hati)
Pilihan lain, tetapi dengan beberapa sekatan, ialah menggunakan 'loc':
df.loc[len(df)] = new_row
Walau bagaimanapun, ambil perhatian bahawa ini hanya berfungsi jika indeks baharu belum ada dalam DataFrame (biasanya jika indeks ialah RangeIndex).
Mengapa 'tambah' Dibuang?
Kaedah 'tambah' telah dialih keluar kerana ia tidak cekap untuk sisipan berulang. Walaupun 'list.append' ialah O(1) pada setiap langkah, 'DataFrame.append' ialah O(n), menjadikannya perlahan untuk gelung. Selain itu, ia mencipta DataFrame baharu untuk setiap langkah, yang membawa kepada tingkah laku kuadratik.
Amalan Terbaik untuk Sisipan Berulang
Jika anda perlu menambahkan baris berulang kali pada DataFrame , sebaiknya kumpulkan item baharu dalam senarai, tukarkannya kepada DataFrame, dan kemudian gabungkannya kepada DataFrame asal pada penghujung gelung. Pendekatan ini mengelakkan overhed operasi tambah berulang.
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Kaedah `Append` Panda yang Dihentikan untuk Menambah Baris pada DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!