Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggantikan Kaedah `Append` Panda yang Dihentikan untuk Menambah Baris pada DataFrame?

Bagaimana untuk Menggantikan Kaedah `Append` Panda yang Dihentikan untuk Menambah Baris pada DataFrame?

Linda Hamilton
Linda Hamiltonasal
2024-12-03 19:21:11712semak imbas

How to Replace Pandas' Deprecated `append` Method for Adding Rows to a DataFrame?

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:

  1. Tukar kamus kepada DataFrame dengan satu baris:

    new_row_df = pd.DataFrame([new_row])
  2. 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!

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