Dalam tutorial hari ini kita akan belajar bagaimana menggabungkan dua atau lebih DataFrames yang memiliki kolom yang sama di Pandas. Ini akan sangat berguna jika Anda menerima beberapa file nilai yang dipisahkan koma (CSV) atau spreadsheet Excel yang perlu Anda gabungkan bersama sebelum memulai proses Analisis Data Anda
Membuat contoh data
Mari kita mulai dengan membuat beberapa DataFrame yang ingin kita tambahkan satu sama lain
import pandas as pd europe_cand = {'area': ['Python', 'R', 'Python'], 'city': ['London', 'Paris', 'Madrid'], 'candidates': [24, 65, 82]} usa_cand = {'area': ['R', 'Python', 'R'], 'city': ['NYC', 'LA', 'Seattle'], 'candidates': [72, 110, 123]} asia_cand = {'area': ['R', 'Python', 'R'], 'city': ['Delhi', 'Tokyo', 'Seoul'], 'candidates': [72, 110, 123], 'salary': [100, 150, 125]} # create DataFrame from dictionaries europe_df = pd.DataFrame (europe_cand) usa_df = pd.DataFrame (usa_cand) asia_df = pd.DataFrame (asia_cand) cand_df_lst = [europe_df, usa_df, asia_df]Menggabungkan beberapa DataFrames
Pada contoh pertama kami ingin menggunakan pd. concat() berfungsi untuk menambahkan dua atau lebih DataFrames. Mari kita lihat bagaimana kita membuatnya dengan Python
cand = pd.concat([europe_df, usa_df], ignore_index=True) cand_Catatan. Perhatikan pesan TypeError jika mengirimkan daftar daftar atau objek kamus ke pd. concat. Anda dapat melewati daftar DataFrames yang ditunjukkan di atas
TypeError: cannot concatenate object of type '<class 'list'>'; only Series and DataFrame objs are validInilah nilai DataFrame yang dihasilkan
Catatan. pd. fungsi concat menerima iterable, dalam kasus kami daftar dua DataFrames dan hanya menyatukannya. Menggunakan metode ini sangat berguna jika kedua DataFrame memiliki kolom yang sama
Kami dapat mencapai hasil yang serupa jika menggunakan metode append DataFrame
cand = europe_df.append(usa_df, ignore_index=True)Tambahkan DataFrames menggunakan for loop
Contoh yang lebih menarik adalah ketika kita ingin menggabungkan DataFrame yang memiliki kolom berbeda. Dalam contoh ini kami akan mengulang ke daftar DataFrames dan menambahkan kontennya ke DataFrame kosong. Mari lihat
Misalkan, kami menggunakan daftar elemen dan mengulanginya dan kami ingin membuat DataFrame dengan melakukan beberapa operasi pada elemen-elemen ini dan ingin menambahkan nilai-nilai ini dalam DataFrame. Jika kita menambahkan setiap nilai secara langsung di dalam loop, itu akan menimpa nilai sebelumnya dan hanya nilai terakhir yang akan ditambahkan ke DataFrame
Untuk menambahkan panda DataFrame yang dihasilkan dalam for a loop, pertama-tama kita akan membuat daftar kosong dan kemudian di dalam loop, kita akan menambahkan nilai yang dimodifikasi di dalam daftar kosong ini, dan terakhir, di luar loop, kita akan menggabungkan semua nilai dari
Untuk bekerja dengan panda, kita perlu mengimpor paket panda terlebih dahulu, di bawah ini adalah sintaksnya
import pandas as pd _Mari kita pahami dengan bantuan sebuah contoh,
Kode python untuk menambahkan panda DataFrames dihasilkan dalam for loop
# Importing pandas package import pandas as pd # Creating a List of some values list = ['Pranit','Mark','Jhon','Tony'] # Defining an empty list list_2 = [] # Generating new values inside a for loop for value in list: dataframe_values = 'Mr. '+value # Appending this new value in new list list_2.append(dataframe_values) # Finally concatenating all the values to # create DataFrame df = pd.DataFrame(list_2, columns=['Name'],index=['A','B','C','D']) # Display DataFrame print("Created DataFrame:\n",df,"\n")Keluaran
Program Python Panda »
Dalam python, saat beroperasi pada daftar, kita mungkin perlu menyimpan setiap keluaran loop dalam kerangka data dengan setiap iterasi
Jadi resep ini adalah contoh singkat tentang cara menambahkan keluaran for loop dalam kerangka data panda. Mari kita mulai
Langkah 1 - Impor perpustakaan
import pandas as pd_
Mari kita jeda dan lihat impor ini. Panda umumnya digunakan untuk manipulasi dan analisis data
Langkah 2 - Siapkan Data
df= pd.DataFrame({'Table of 9': [9,18,27], 'Table of 10': [10,20,30]})
Mari kita buat kerangka data yang berisi beberapa tabel 9 dan 10
Langkah 3 - Menambahkan bingkai data dalam for loop
for i in range(4,11): df=df.append({'Table of 9':i*9,'Table of 10':i*10},ignore_index=True)_
Dibandingkan dengan menambahkan fungsi dalam daftar, ini berlaku sedikit berbeda untuk kerangka data. Segera setelah kerangka data apa pun ditambahkan menggunakan fungsi append, itu tidak tercermin dalam kerangka data asli. Untuk menyimpan informasi yang ditambahkan dalam kerangka data, kami menetapkannya kembali ke kerangka data asli