246 Views

Python dan R adalah bahasa pemrograman yang mendominasi dalam ekosistem data science. Keduanya menyediakan banyak paket dan kerangka kerja untuk melakukan analisis dan manipulasi data yang efisien. Pada artikel ini, kami akan membandingkan dua perpustakaan yang sangat populer dalam hal manipulasi data dan tugas transformasi / berbasis data frame tabel.

  • Pandas: Analisis data dan pustaka manipulasi untuk Python
  • Dplyr: Paket manipulasi data untuk R

Contoh berikut terdiri dari beberapa tugas sederhana yang diselesaikan oleh panda dan dplyr. Ada banyak pilihan untuk menggunakan paket ini. Saya menggunakan R-studio IDE untuk R dan Spyder untuk Python.

Langkah pertama adalah menginstal dependensi dan membaca data (misalkan saya punya data disimpan di D:/DirectMarketing.csv). Bila kalian menggunakan anaconda maka package pandas sudah tersedia dalam installer tersebut.

#Python
import numpy as np
import pandas as pd
marketing = pd.read_csv("D:/DirectMarketing.csv")

Sedangkan untuk R, kalian bisa install melalui cara berikut

#R
> library(readr)
> library(dplyr)
> marketing <- read_csv("D:/DirectMarketing.csv")

Mengenai data DirectMarketing.csv, data tersebut berisi nama-nama customer sebagai berikut

Ditampilkan dalam RStudio

Mari kita coba beberapa tugas untuk Pandas dan Dplyr seperti

Filter berdasarkan suatu kondisi

Tugas: Memfilter baris yang jumlah pengeluarannya lebih dari 2000. Kode berikut membuat dataframe baru atau berbasis tibble sesuai dengan kondisi yang diberikan.

untuk versi Python / Pandas

#pandas
high_amount = marketing[marketing.AmountSpent > 2000]

untuk versi R / dplyr

#dplyr
high_amount <- filter(marketing, AmountSpent > 2000)

Untuk panda, kami menerapkan kondisi pemfilteran pada pandas dataframe seperti yang menggunakan indeks yang dikondisikan dengan operator perbandingan, sedangkan untuk dplyr, menggunakan fungsi filter.

Filter pada berbagai kondisi

Tugas: Memfilter baris yang jumlah pengeluarannya lebih dari 2000 dan riwayatnya tinggi.

untuk versi Python / Pandas

#pandas
new = marketing[(marketing.AmountSpent > 2000) & (marketing.History == 'High')]

untuk versi R / dplyr

#dplyr
new <- filter(marketing, AmountSpent > 2000 & History == 'High')

Untuk kedua pustaka, kita dapat menggabungkan beberapa kondisi menggunakan operator logika.

Membuat Dataframe

Kami akan membuat contoh dataframe / python dan tibble/R dengan kode sebagai berikut

Versi Pandas – Python

#pandas
df = pd.DataFrame({
     'cola':[1,3,2,4,6],
     'colb':[12, 9, 16, 7, 5],
     'colc':['a','b','a','a','b']
})

Versi Dplyr – R

#dplyr
df <- tibble(cola = c(1,3,2,4,6), 
             colb = c(12, 9, 16, 7, 5),
             colc = c('a','b','a','a','b')
            )

 

Sortir berdasarkan kolom

Tugas: Mengurutkan baris dalam df berdasarkan nama colom cola.

Versi Pandas – Python

#pandas
df.sort_values('cola')

Versi Dplyr – R

#dplyr
arrange(df, cola)

Kkita menggunakan fungsi sort_values ​​di pandas dan fungsi mengatur di dplyr. Keduanya mengurutkan nilai dalam urutan menaik-ascending secara default

Urutkan berdasarkan beberapa kolom

Tugas: Mengurutkan baris berdasarkan colc dalam urutan pertama dan cola dalam urutan naik yaitu colom colc dan cola

Ini lebih rumit dari contoh sebelumnya tetapi logikanya sama. Kita juga perlu mengubah perilaku default pengurutan dalam urutan menaik-ascending.

Versi Pandas – Python

#pandas
df.sort_values(['colc','cola'], ascending=[False, True])

Versi Dplyr – R

#dplyr
arrange(df, desc(colc), cola)

 

Untuk pandas, nilainya diurutkan berdasarkan kolom dalam daftar yang diberikan. Urutan kolom dalam daftar penting. Kita juga meneruskan daftar ke parameter menaik -ascending, jika kita ingin mengubah perilaku default.

Untuk dplyr, sintaksnya sedikit lebih sederhana. Kita dapat mengubah perilaku default dengan menggunakan kata kunci desc.

Memilih subset kolom

Kita mungkin hanya membutuhkan beberapa kolom dalam kumpulan data. Baik pandas dan dplyr menyediakan cara sederhana untuk memilih kolom atau daftar kolom.

Tugas: Membuat subset dari dataset dengan memilih kolom location, salary, amount dan spent

Versi Pandas – Python

#pandas
subset = marketing[['Location','Salary','AmountSpent']]

Versi Dplyr – R

#dplyr
subset = select(marketing, Location, Salary, AmountSpent)

Membuat kolom baru berdasarkan yang sudah ada

Dalam beberapa kasus, kita perlu menggabungkan kolom dengan transformasi untuk membuat kolom baru.

Tugas: Buat kolom baru yang disebut dengan spent_ratio yang merupakan rasio jumlah yang dibelanjakan terhadap gaji.

Versi Pandas – Python

#pandas
subset['spent_ratio'] = subset['AmountSpent'] / subset['Salary']

Versi Dplyr – R

#dplyr
mutate(subset, spent_ratio = AmountSpent / Salary)

Kita menggunakan fungsi mutate dplyr sedangkan pandas dapat langsung menerapkan operasi matematika sederhana.

Kesimpulan

Kita telah membandingkan bagaimana tugas manipulasi data sederhana dilakukan dengan pandas dan dplyr. Ini hanyalah operasi dasar tetapi penting untuk memahami operasi yang lebih kompleks dan canggih.

Ada lebih banyak fungsi dan metode yang disediakan perpustakaan ini. Faktanya, keduanya adalah alat analisis data yang cukup serbaguna dan kuat.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

7 × = 70