Tambahkan Dict pada DataFrame dalam Pandas

Tambahkan Dict Pada Dataframe Dalam Pandas



Kami akan membincangkan cara untuk menambahkan kamus pada Pandas DataFrame sedia ada menggunakan fungsi pandas.DataFrame.append() dan pandas.concat() dengan contoh. Di sini, kamus merujuk kepada pasangan kunci:nilai supaya kunci merujuk kepada label lajur sedia ada yang terdapat dalam DataFrame dan nilai ditambah dalam satu baris. Selain itu, kita akan melihat contoh yang menambahkan berbilang kamus pada Pandas DataFrame.

Menggunakan Pandas.DataFrame.Append

Fungsi pandas.DataFrame.append() digunakan untuk menambahkan baris DataFrame lain pada DataFrame sedia ada. Jika lajur dalam DataFrame sedia ada tidak wujud, lajur DataFrame yang lain dibuat dalam DataFrame sedia ada. Gunakan fungsi ini sedemikian rupa sehingga baris perlu dimasukkan ke dalam DataFrame dengan menambahkan kamus.

Sintaks :







Berikut ialah sintaks sebenar fungsi panda.DataFrame.append():



panda. DataFrame . tambahkan ( lain , abaikan_indeks , sahkan_integriti , menyusun )
  1. lain : Ini merujuk kepada DataFrame lain yang mana baris DataFrame ini dilampirkan pada DataFrame sedia ada. Jika anda ingin menambahkan satu baris, anda perlu lulus kamus nilai sebagai parameter.
  2. abaikan_indeks (secara lalai = Palsu): Parameter ini digunakan apabila anda menambahkan baris pada DataFrame yang sudah mempunyai baris. Jika ia adalah 'Salah', indeks baris sedia ada turut dilampirkan. Jika ia 'Benar', baris dilabelkan dari 0 hingga n-1. Pastikan parameter ini ditetapkan kepada 'Benar' semasa menambahkan kamus pada DataFrame. Jika tidak, jenis ralat dinaikkan - 'TypeError: Hanya boleh menambah dict jika ignore_index=True'.
  3. Kita boleh menyemak indeks pendua menggunakan parameter verify_integrity (secara lalai = Palsu). Jika indeks adalah pendua dan verify_integrity ditetapkan kepada 'Benar', ia mengembalikan 'ValueError: Indeks mempunyai nilai bertindih'.
  4. Adalah mungkin untuk mengisih lajur jika lajur DataFrame sedia ada dan DataFrame lain tidak diselaraskan menggunakan parameter isihan dengan menetapkannya kepada 'Benar' (secara lalai = Palsu).

Contoh 1: Tambahkan Kamus Tunggal

Buat Pandas DataFrame dengan empat lajur – “Nama_Kempen”, “Lokasi”, “Tarikh Mula”, dan “Belanjawan” – dan tiga baris. Tambahkan kamus pada DataFrame ini.



import panda

# Buat DataFrame - Kempen dengan 4 lajur dan 3 baris
Kempen = panda. DataFrame ( [ [ 'Kem Pemasaran' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Kem Jualan' , 'Itali' , '01/25/2022' , 10000 ] ,
[ 'Kem Lain' , 'USA' , '04/17/2023' , 2000 ] ] ,
lajur = [ 'Nama_Kempen' , 'Lokasi' , 'Tarikh mula' , 'Bajet' ] )
cetak ( Kempen , ' \n ' )

# Tambah satu baris
Kempen = Kempen. tambahkan ( { 'Nama_Kempen' : 'Kem Teknikal' , 'Lokasi' : 'USA' , 'Tarikh mula' : '05/12/2023' , 'Bajet' : 2000 } , abaikan_indeks = betul )
cetak ( Kempen , ' \n ' )

Pengeluaran :





Kita dapat melihat bahawa kamus itu dilampirkan pada DataFrame 'Kempen'. Indeks baris baharu ini ialah 3 kerana indeks diabaikan.



Contoh 2: Tambah Berbilang Kamus

Gunakan DataFrame yang sama yang dibuat di bawah Contoh 1 dan tambahkan tiga baris pada satu masa menggunakan fungsi panda.DataFrame.append(). Tetapkan parameter ignore_index kepada 'Benar'.

import panda

# Buat DataFrame - Kempen dengan 4 lajur dan 3 baris
Kempen = panda. DataFrame ( [ [ 'Kem Pemasaran' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Kem Jualan' , 'Itali' , '01/25/2022' , 10000 ] ,
[ 'Kem Lain' , 'USA' , '04/17/2023' , 2000 ] ] ,
lajur = [ 'Nama_Kempen' , 'Lokasi' , 'Tarikh mula' , 'Bajet' ] )
cetak ( Kempen , ' \n ' )

Kempen = Kempen. tambahkan ( { 'Nama_Kempen' : 'Kem Teknikal' , 'Lokasi' : 'USA' , 'Tarikh mula' : '05/12/2023' , 'Bajet' : 2000 } , abaikan_indeks = betul )
Kempen = Kempen. tambahkan ( { 'Nama_Kempen' : 'Kem pemasaran' , 'Lokasi' : 'India' , 'Tarikh mula' : '06/23/2023' , 'Bajet' : 9000 } , abaikan_indeks = betul )
Kempen = Kempen. tambahkan ( { 'Nama_Kempen' : 'Kem MSales' , 'Lokasi' : 'Itali' , 'Tarikh mula' : '01/24/2023' , 'Bajet' : 1200 } , abaikan_indeks = betul )
cetak ( Kempen )

Pengeluaran :

Tiga baris dilampirkan satu demi satu dengan 3, 4 dan 5 indeks pada DataFrame sedia ada.

Menggunakan Pandas.Concat

Fungsi pandas.concat() menggabungkan dua atau lebih DataFrames di sepanjang baris atau lajur. Jadi, kita perlu menukar kamus kepada DataFrame dan lulus dua DataFrame kepada fungsi ini.

Sintaks :

Tambahkan kamus pada DataFrame sedia ada:

panda. concat ( [ Frame_Data Sedia Ada , Transformed_Dictionary ] , paksi = 0 , abaikan_indeks , sahkan_integriti )
  1. Jika paksi = 0, penggabungan dilakukan di sepanjang baris. Penggabungan dilakukan di sepanjang lajur jika ia ditetapkan Penggunaan huruf besar yang diperlukan kerana ini adalah subtajuk. Menambah artikel yang diperlukan untuk ringkasnya.kepada 1.
  2. The ignore_index (secara lalai = False): Parameter ini digunakan apabila anda menambahkan baris pada DataFrame yang sudah mempunyai baris. Jika ia adalah 'Salah', indeks baris sedia ada turut dilampirkan. Jika ia 'Benar', baris dilabelkan dari 0 hingga n-1.
  3. Kita boleh menyemak indeks pendua menggunakan parameter verify_integrity (secara lalai = Palsu). Jika indeks adalah pendua dan verify_integrity ditetapkan kepada 'Benar', ia mengembalikan 'ValueError: Indeks mempunyai nilai bertindih'.

Contoh 1: Tambahkan Kamus Tunggal

Buat Pandas DataFrame dengan empat lajur – “Nama_Kempen”, “Lokasi”, “Tarikh Mula”, dan “Belanjawan” – dan tiga baris. Menggunakan fungsi pandas.concat(), tambahkan satu kamus (DataFrame) sebagai baris pada DataFrame ini.

import panda


# Buat DataFrame - Kempen dengan 4 lajur dan 3 baris
Kempen = panda. DataFrame ( [ [ 'Kem Pemasaran' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Kem Jualan' , 'Itali' , '01/25/2022' , 10000 ] ,
[ 'Kem Lain' , 'USA' , '04/17/2023' , 2000 ] ] ,
lajur = [ 'Nama_Kempen' , 'Lokasi' , 'Tarikh mula' , 'Bajet' ] )
cetak ( Kempen , ' \n ' )

kamus_dari_DataFrame = panda. DataFrame ( [ { 'Nama_Kempen' : 'Kem Perkhidmatan' , 'Lokasi' : 'USA' , 'Tarikh mula' : '04/17/2023' , 'Bajet' : 1000 } ] )

# Tambah satu baris
Kempen = panda. concat ( [ Kempen , kamus_dari_DataFrame ] , paksi = 0 )
cetak ( Kempen , ' \n ' )

Pengeluaran :

Kita dapat melihat bahawa kamus itu dilampirkan pada DataFrame 'Kempen'. Indeks baris baharu ini ialah 0 kerana indeks tidak diabaikan.

Contoh 2: Tambah Berbilang Kamus

Gunakan DataFrame sebelumnya dan tambahkan tiga kamus (DataFrame) dengan mengabaikan indeks.

import panda


# Buat DataFrame - Kempen dengan 4 lajur dan 3 baris
Kempen = panda. DataFrame ( [ [ 'Kem Pemasaran' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Kem Jualan' , 'Itali' , '01/25/2022' , 10000 ] ,
[ 'Kem Lain' , 'USA' , '04/17/2023' , 2000 ] ] ,
lajur = [ 'Nama_Kempen' , 'Lokasi' , 'Tarikh mula' , 'Bajet' ] )
cetak ( Kempen , ' \n ' )

kamus_dari_DataFrame = panda. DataFrame ( [ { 'Nama_Kempen' : 'Kem Teknologi' , 'Lokasi' : 'USA' , 'Tarikh mula' : '05/17/2023' , 'Bajet' : 1000 } ,
{ 'Nama_Kempen' : 'Khidmat sosial' , 'Lokasi' : 'Jepun' , 'Tarikh mula' : '04/17/2023' , 'Bajet' : 200 } ,
{ 'Nama_Kempen' : 'Kem Jualan' , 'Lokasi' : 'USA' , 'Tarikh mula' : '18/04/2023' , 'Bajet' : 500 } ] )

# Tambahkan berbilang baris
Kempen = panda. concat ( [ Kempen , kamus_dari_DataFrame ] , paksi = 0 , abaikan_indeks = betul )
cetak ( Kempen , ' \n ' )

Pengeluaran :

Kita dapat melihat bahawa tiga kamus dilampirkan pada DataFrame 'Kempen'. Indeks kamus ini ialah 3, 4 dan 5 kerana parameter ignore_index ditetapkan kepada 'Salah'.

Kesimpulan

Kamus tunggal/berbilang dilampirkan pada DataFrame menggunakan fungsi pandas.DataFrame.append() dan pandas.concat(). Indeks baris baharu boleh menjadi unik dengan menetapkan parameter ignore_index kepada 'Benar' dalam fungsi pandas.concat(). Semasa menggunakan fungsi pandas.DataFrame.append(), tetapkan parameter ignore_index kepada 'Benar'. Jika tidak, TypeError dinaikkan.