Bagaimana Anda menambahkan data ke kerangka data dengan python?

❮ Referensi Bingkai Data


Contoh

Sisipkan kolom baru dengan usia masing-masing anggota, dan tempatkan di antara "nama" dan "memenuhi syarat"

impor panda sebagai pd

data = {
"nama". ["Sally", "Mary", "John"],
"berkualitas". [Benar, Salah, Salah]
}

df = pd. Bingkai Data(data)

df. masukkan(1, "umur", [50, 40, 30])

cetak(df)

Cobalah sendiri "


Definisi dan Penggunaan

Metode insert()_ memungkinkan kita untuk menyisipkan kolom baru ke DataFrame yang ada


Sintaksis

kerangka data. sisipkan(lokasi, kolom, nilai, izinkan_duplikat)


Parameter

ParameterDeskripsilocDiperlukan. Bilangan bulat yang menentukan lokasi kolom baru. kolomDiperlukan. Sebuah string yang menentukan nama kolom baru. nilaiDiperlukan. Objek seperti array yang menentukan nilai kolom baru. allow_duplicatesOpsional. Default False, menentukan apakah DataFrame mengizinkan kolom dengan nama yang sama atau tidak

Nilai Pengembalian

Tidak ada. Penyisipan dilakukan di DataFrame asli


❮ Referensi Bingkai Data


Dalam tutorial ini, saya akan menjelaskan cara menggunakan teknik penambahan Pandas untuk menambahkan baris baru ke kerangka data atau objek Pandas

Saya akan menjelaskan dengan tepat apa yang dilakukan teknik

import pandas as pd
3, bagaimana sintaks bekerja, dan saya akan menunjukkan contoh langkah demi langkah

Daftar isi

Mari kita mulai dengan penjelasan singkat tentang apa yang dilakukan metode append

Pengantar cepat untuk menambahkan Panda

Teknik penambahan Pandas menambahkan baris baru ke objek Pandas. Ini adalah teknik yang sangat umum yang kami gunakan untuk pembersihan data dan perselisihan data dengan Python

A simple example of how to use Pandas append.

Teknik ini agak fleksibel, dalam artian kita bisa menggunakannya pada beberapa objek Panda yang berbeda. Kita bisa menggunakan teknik ini pada

  • dataframe
  • Seri

Saat kami menggunakan

import pandas as pd
_3 pada kerangka data, kerangka data sering kali memiliki kolom yang sama. Tetapi jika kerangka data masukan memiliki kolom yang berbeda, maka kerangka data keluaran akan memiliki kolom dari kedua masukan

Setelah mengatakan semua itu, apa yang dilakukan teknik ini tergantung pada bagaimana kita menggunakan sintaks

Oleh karena itu, mari kita lihat sintaks dan parameter opsional

Sintaks panda menambahkan

Di sini, saya akan menjelaskan sintaks untuk metode penambahan Pandas

Saya akan menjelaskan sintaks untuk kerangka data Pandas, dan objek Seri Pandas

Catatan singkat

Sebelum kita melihat sintaks, perlu diingat beberapa hal

Pertama, penjelasan sintaks ini berasumsi bahwa Anda telah mengimpor paket Pandas. Anda dapat melakukannya dengan kode berikut

import pandas as pd

Kedua, penjelasan sintaks ini juga mengasumsikan bahwa Anda sudah memiliki dua kerangka data Panda atau objek lain yang ingin Anda gabungkan bersama

Untuk penyegaran tentang kerangka data, Anda dapat membaca postingan blog kami tentang kerangka data Pandas

Sintaks penambahan kerangka data

Menggunakan metode append pada kerangka data sangat sederhana

Anda mengetik nama kerangka data pertama, lalu

import pandas as pd
5 untuk memanggil metode

An image that explains the syntax to append the rows of one Python dataframe to another.

Kemudian di dalam tanda kurung, Anda mengetikkan nama kerangka data kedua, yang ingin Anda tambahkan di akhir yang pertama

Ada juga beberapa parameter opsional yang dapat Anda gunakan, yang akan saya bahas

Sintaks penambahan seri

Sintaks untuk menggunakan append pada Seri sangat mirip dengan sintaks dataframe

Anda mengetik nama Seri pertama, lalu

import pandas as pd
5 untuk memanggil metode

An image that explains how to use the append method with two Pandas Series objects.

Kemudian di dalam tanda kurung, Anda mengetikkan nama Seri kedua, yang ingin Anda tambahkan di akhir Seri pertama

Dan sekali lagi, ada juga beberapa parameter opsional yang dapat Anda gunakan yang akan sedikit mengubah cara kerja metode tersebut

Mari kita lihat parameter tersebut

Parameter append

Metode append Pandas memiliki tiga parameter opsional yang dapat Anda gunakan

  • import pandas as pd
    
    _7
  • import pandas as pd
    
    _8
  • import pandas as pd
    
    _9

Mari kita lihat masing-masing

import pandas as pd
7 (opsional)

Parameter

import pandas as pd
7 memungkinkan Anda untuk mengontrol indeks objek Panda keluaran baru

Secara default, ini disetel ke

sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
2. Dalam hal ini, Panda menyimpan nilai indeks asli dari dua kerangka data masukan yang berbeda. Perlu diingat bahwa ini dapat menyebabkan duplikat nilai indeks yang dapat menyebabkan masalah

Jika Anda menyetel parameter ini ke

sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
_3, Panda akan mengabaikan nilai indeks di input, dan akan menghasilkan indeks baru untuk output. Nilai indeks akan diberi label
sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
_4,
sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
5, …
sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
6

import pandas as pd
8 (opsional)

Parameter

import pandas as pd
8 memeriksa "integritas" indeks baru. Jika indeks memiliki duplikat, dan Anda menyetel
sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
9, Python akan menghasilkan pesan kesalahan

Secara default, parameter ini disetel ke

print(sales_data_1)
print(sales_data_2)
0. Dalam hal ini, Python sebenarnya akan mengizinkan duplikat

import pandas as pd
_9 (opsional)

Parameter

import pandas as pd
9 mengontrol urutan kolom, jika dua kerangka data input memiliki kolom yang berbeda

Secara default, parameter ini disetel ke

print(sales_data_1)
print(sales_data_2)
3. Dalam hal ini, kolom tidak digunakan saat ditambahkan bersama

Jika Anda menyetel

print(sales_data_1)
print(sales_data_2)
_4, Panda akan mengurutkan ulang kolom di keluaran

Output dari Panda menambahkan

Output dari append tergantung pada input

Umumnya, hasilnya akan berupa objek Pandas baru, dengan baris objek kedua ditambahkan ke bagian bawah objek pertama

Lebih khusus lagi, jika inputnya adalah kerangka data, keluarannya akan berupa kerangka data. Dan jika inputnya Seri, maka outputnya Seri

Juga mencatat. metode

print(sales_data_1)
print(sales_data_2)
_5 menghasilkan objek baru dan membiarkan dua objek input asli tidak berubah. Ini bisa sangat membingungkan bagi pemula, jadi ingatlah bahwa metode ini menghasilkan objek baru

Contoh. cara menambahkan baris baru ke objek Pandas

Baik. Sekarang setelah Anda melihat sintaksnya, mari kita lihat beberapa contoh cara menggunakan append untuk menambahkan baris baru ke objek Pandas

Contoh

Jalankan kode ini terlebih dahulu

Sebelum Anda menjalankan salah satu contoh, Anda perlu melakukan dua hal

  • impor Panda
  • buat kerangka data yang akan kami kerjakan

Mari kita lakukan satu per satu

Impor Panda

Pertama, mari impor Panda

Anda dapat melakukannya dengan kode berikut

import pandas as pd

Ini akan memungkinkan kita untuk memanggil fungsi panda dengan awalan

print(sales_data_1)
print(sales_data_2)
6, yang merupakan konvensi umum

Membuat kerangka data

Selanjutnya, mari buat dua kerangka data

Di sini, kami akan membuat kerangka data yang berisi data penjualan palsu

Anda dapat membuatnya dengan kode berikut

sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})

Dan mari kita cetak, sehingga Anda dapat melihat secara kasar apa yang ada di dalamnya

print(sales_data_1)
print(sales_data_2)

KELUAR

      name region    sales  expenses
0  William   East  50000.0   42000.0
1     Emma    NaN  52000.0   43000.0
2    Sofia   East  90000.0       NaN
3   Markus  South      NaN   44000.0
4   Edward   West  42000.0   38000.0

     name region    sales  expenses
0  Thomas   West  72000.0   39000.0
1   Ethan  South  49000.0   42000.0
2  Olivia   West      NaN       NaN
3    Arun   West  67000.0   39000.0
4   Anika   East  65000.0   44000.0
5   Paulo  South  67000.0   45000.0

Seperti yang Anda lihat, kerangka data ini berisi informasi penjualan, termasuk nama, wilayah, total penjualan, dan pengeluaran

Perhatikan juga bahwa meskipun kerangka data memiliki kolom yang sama, mereka memiliki baris yang berbeda. Kami akan menggunakan metode

print(sales_data_1)
print(sales_data_2)
_5 untuk menambahkan baris di
print(sales_data_1)
print(sales_data_2)
8 ke
print(sales_data_1)
print(sales_data_2)
9

CONTOH 1. Tambahkan baris baru ke dalam bingkai data

Pertama, mari kita mulai dengan sederhana

Di sini, kami hanya akan menambahkan baris di

print(sales_data_1)
print(sales_data_2)
8 sampai akhir (i. e. , bagian bawah) dari
print(sales_data_1)
print(sales_data_2)
9

Mari kita jalankan kodenya, lalu saya akan menjelaskan

sales_data_1.append(sales_data_2)

KELUAR

      name region    sales  expenses
0  William   East  50000.0   42000.0
1     Emma    NaN  52000.0   43000.0
2    Sofia   East  90000.0       NaN
3   Markus  South      NaN   44000.0
4   Edward   West  42000.0   38000.0
0   Thomas   West  72000.0   39000.0
1    Ethan  South  49000.0   42000.0
2   Olivia   West      NaN       NaN
3     Arun   West  67000.0   39000.0
4    Anika   East  65000.0   44000.0
5    Paulo  South  67000.0   45000.0
Penjelasan

Ini cukup sederhana

Untuk memanggil metode, kita ketikkan nama kerangka data pertama,

print(sales_data_1)
print(sales_data_2)
9, lalu kita ketikkan
import pandas as pd
5 untuk memanggil metode

Di dalam tanda kurung, kita memiliki nama kerangka data kedua,

print(sales_data_1)
print(sales_data_2)
8

Kerangka data keluaran berisi baris keduanya, ditumpuk satu sama lain

Perhatikan satu hal. dalam indeks numerik di sebelah kiri, ada nilai duplikat. Itu karena indeks dari bingkai data input asli keduanya berisi nilai yang sama (mis. e. , indeks untuk keduanya dimulai dari 0 dan bertambah 1 untuk setiap baris)

Duplikat dalam indeks ini bisa bermasalah

Kami akan memperbaikinya di contoh berikutnya

CONTOH 2. Abaikan dan setel ulang indeks, saat Anda menambahkan baris baru

Di sini, kami akan menggabungkan baris dari dua kerangka data, tetapi kami akan mengatur ulang indeks untuk kerangka data keluaran. Ini akan membuat indeks numerik baru mulai dari 0

Untuk melakukan ini, kita perlu mengatur

sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
3. Secara efektif, ini akan menyebabkan Python "mengabaikan" indeks dalam bingkai data input, dan itu akan membuat indeks baru untuk output

sales_data_1.append(sales_data_2, ignore_index = True)

KELUAR

       name region    sales  expenses
0   William   East  50000.0   42000.0
1      Emma    NaN  52000.0   43000.0
2     Sofia   East  90000.0       NaN
3    Markus  South      NaN   44000.0
4    Edward   West  42000.0   38000.0
5    Thomas   West  72000.0   39000.0
6     Ethan  South  49000.0   42000.0
7    Olivia   West      NaN       NaN
8      Arun   West  67000.0   39000.0
9     Anika   East  65000.0   44000.0
10    Paulo  South  67000.0   45000.0
Penjelasan

Perhatikan di output bahwa indeks dimulai dari 0, bertambah 1 untuk setiap baris, dan berhenti di 10

Ini adalah indeks baru untuk keluaran, dan secara efektif menghapus semua label indeks duplikat yang ada di kerangka data masukan

CONTOH 3. Verifikasi integritas indeks, saat Anda menambahkan baris baru

Sekarang, alih-alih menyetel ulang indeks, mari verifikasi indeks

Untuk melakukannya, kita akan menyetel ________10______9

Ini akan memeriksa label indeks input untuk duplikat. Jika ada label indeks duplikat, Panda akan menghasilkan kesalahan

Mari lihat

sales_data_1.append(sales_data_2, verify_integrity = True)

KELUAR

import pandas as pd
0
Penjelasan

Di sini, kami menetapkan

sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
_9. Ini memeriksa bingkai data input untuk label indeks duplikat

Seperti yang Anda lihat, menjalankan kode ini menghasilkan

      name region    sales  expenses
0  William   East  50000.0   42000.0
1     Emma    NaN  52000.0   43000.0
2    Sofia   East  90000.0       NaN
3   Markus  South      NaN   44000.0
4   Edward   West  42000.0   38000.0

     name region    sales  expenses
0  Thomas   West  72000.0   39000.0
1   Ethan  South  49000.0   42000.0
2  Olivia   West      NaN       NaN
3    Arun   West  67000.0   39000.0
4   Anika   East  65000.0   44000.0
5   Paulo  South  67000.0   45000.0
8

Alasannya adalah ada label indeks duplikat di dua kerangka data masukan. Keduanya memiliki baris dengan label

sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
_4,
sales_data_1 = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward"]
,"region":["East",np.nan,"East","South","West"]
,"sales":[50000,52000,90000,np.nan,42000]
,"expenses":[42000,43000,np.nan,44000,38000]})

sales_data_2 = pd.DataFrame({"name":["Thomas","Ethan","Olivia","Arun","Anika","Paulo"]
,"region":["West","South","West","West","East","South"]
,"sales":[72000,49000,np.nan,67000,65000,67000]
,"expenses":[39000,42000,np.nan,39000,44000,45000]})
5,
sales_data_1.append(sales_data_2)
1,
sales_data_1.append(sales_data_2)
2, dan
sales_data_1.append(sales_data_2)
3

Ketika Anda menemukan kesalahan seperti ini, Anda mungkin perlu melakukan pembersihan data pada data input Anda untuk menghapus baris duplikat. Atau, Anda mungkin ingin mengabaikan indeks, seperti yang kami lakukan di. Bagaimana Anda menangani ini sangat tergantung pada konteks

Pertanyaan yang sering diajukan tentang panda ditambahkan

Sekarang kita telah melihat beberapa contoh, mari kita lihat beberapa pertanyaan umum tentang teknik

print(sales_data_1)
print(sales_data_2)
5

Pertanyaan yang sering diajukan

pertanyaan 1. Saya menggunakan append, tetapi kerangka data saya tidak berubah. Mengapa?

Jika Anda menggunakan metode append, Anda mungkin memperhatikan bahwa kerangka data asli Anda tetap tidak berubah

Misalnya, di , kami menjalankan kode berikut

sales_data_1.append(sales_data_2)

Jika Anda mencetak

print(sales_data_1)
print(sales_data_2)
9 setelah Anda menjalankan kode itu, Anda akan menyadari bahwa
print(sales_data_1)
print(sales_data_2)
9 tidak berubah

Itu karena metode

print(sales_data_1)
print(sales_data_2)
5 menghasilkan kerangka data baru, dan membiarkan kedua kerangka data asli tidak berubah

Secara default, keluaran ini dikirim ke konsol. Kita bisa melihatnya di konsol, tapi untuk menyimpannya, kita perlu menyimpannya dengan sebuah nama

Misalnya, Anda dapat menyimpan hasilnya seperti ini

import pandas as pd
_2

Anda dapat memberi nama output apa pun yang Anda inginkan. Anda bahkan dapat menamainya

print(sales_data_1)
print(sales_data_2)
_9. Tapi hati-hati, jika Anda melakukannya, itu akan menimpa kumpulan data asli Anda. Pastikan Anda memeriksa kode Anda agar berfungsi dengan baik sebelum Anda menimpa bingkai data input

Tinggalkan pertanyaan Anda yang lain di komentar di bawah

Apakah Anda memiliki pertanyaan lain tentang metode penambahan Pandas?

Apakah ada hal lain yang perlu Anda ketahui yang belum saya bahas di sini?

Jika demikian, tinggalkan pertanyaan Anda di bagian komentar di bawah

Untuk mempelajari lebih lanjut tentang Panda, daftar ke daftar email kami

Tutorial ini seharusnya memberi Anda pengantar yang bagus untuk teknik penambahan Pandas, tetapi jika Anda benar-benar ingin menguasai perselisihan data dan ilmu data dengan Python, masih banyak yang harus dipelajari

Jadi, jika Anda siap untuk mempelajari lebih lanjut tentang Panda dan lebih banyak lagi tentang ilmu data, maka daftarlah ke buletin email kami

Bagaimana Anda menambahkan data ke DataFrame?

Dengan menggunakan fungsi append() Anda dapat menambah atau menyisipkan baris ke DataFrame panda yang ada dari dict. Metode ini diperlukan untuk mengabaikan_index=True untuk menambahkan dict sebagai baris ke DataFrame, tidak menggunakan ini akan membuat Anda error. Metode ini mengembalikan DataFrame baru dengan baris yang baru ditambahkan.

Bagaimana cara menambahkan data ke kolom dalam DataFrame dengan Python?

Dalam panda Anda dapat menambahkan/menambahkan kolom baru ke DataFrame yang ada menggunakan DataFrame. insert() method , metode ini memperbarui DataFrame yang ada dengan kolom baru. Bingkai Data. assign() juga digunakan untuk menyisipkan kolom baru, namun metode ini mengembalikan Bingkai Data baru setelah menambahkan kolom baru.

Bagaimana cara menambahkan item ke daftar DataFrame?

Menggunakan loc[] untuk Menambahkan Daftar Baru ke DataFrame. Dengan menggunakan df. loc[index]=list Anda dapat menambahkan daftar sebagai baris ke DataFrame pada Indeks tertentu, Untuk menambahkan pada akhirnya dapatkan indeks .