Cara menggunakan variable to dataframe python

Pada tulisan sebelumnya kita telah memfilter data. Umumnya langkah selanjutnya adalah membuat variabel baru berdasarkan hasil filter tersebut. Pada variabel baru itu kita melakukan eksplorasi lebih lanjut seperti memfilter lagi, atau bahkan mengubah data.

Jika integritas data merupakan perhatian utama maka praktek di atas sangat tidak disarankan. Karena jika menggunakan metode di atas, sebenarnya kita masih menggunakan data yang sama, bukan salinan. Sehingga perubahan apapun pada data, baik pada data sumber maupun variabel baru, akan berdampak pada kedua variabel. Dan tentunya jika kita membuat variabel baru berdasarkan variabel yang ada, data akan berubah mengikuti perubahan pada salah satu variabel.

Mengurangi sakit kepala karena integritas data yang buruk, lebih bijak jika variabel baru merupakan hasil copy dari variabel asal. Dengan metode itu, kita akan mendapatkan data yang independen satu sama lain sehingga perilaku data pada variabel yang sedang kita tangani lebih bisa kita prediksi.

Kode

Pandas menyediakan fungsi copy untuk menyalin dataframe menjadi dataframe baru yang tidak bergantung satu sama lain. Kita akan mengeksplorasi fungsi ini.

Load library dan data

import pandas as pd df = pd.read_csv('//raw.githubusercontent.com/aansubarkah/basangdata_pandas/master/pandas-beginner/penjualan.csv')

Buat variabel baru tanpa fungsi copy

df_tanpacopy = df

Tiap perubahan di kedua variabel akan merubah data

df.iloc[0, 0] = 'Andi Burhanuddin Sr.'

Kita merubah data pada variabel df, baris pertama, kolom pertama, dari semula bernama “Andi Burhanuddin” menjadi “Andi Burhanuddin Sr.“. Terlihat pada kedua variabel data tersebut berubah.

Hal yang sama juga berlaku jika kita merubah variabel df_tanpacopy, misal kita ubah nama tersebut menjadi “Bapak Andi Burhanuddin Jr“.

df_tanpacopy.iloc[0, 0] = 'Bapak Andi Burhanuddin'

Variabel baru dengan fungsi copy

Sekarang kita buat variabel baru menggunakan fungsi copy.

df_copy = df.copy()

Perubahan pada masing-masing variabel tidak merubah variabel lainnya

df.iloc[0, 0] = 'Andi Burhanuddin Jr.'

Terlihat perubahan pada variabel df, dari semula “Bapak Andi Burhanuddin” menjadi “Andi Burhanuddin Jr.“, tidak merubah data yang sama pada variabel df_copy. Sebaliknya demikian perubahan pada variabel df_copy tidak berefek pada variabel df.

Python telah menyediakan built-in function yang dapat langsung kita gunakan di Pandas yang berguna untuk analisis data yang jumlahnya cukup banyak, mungkin ratusan. Ada beberapa function yang sering digunakan dan pastinya perlu diketahui oleh para pemula. Berikut 20+ function dasar di Pandas Python.

Sebelumnya mari kita buat dataframe terlebih dahulu seperti di bawah ini.

import pandas as pd
import numpy as np
import random

data = {'Mata Kuliah': ['Algoritma', 'Kalkulus', 'Metode Kuantitatif', 'Data Mining', 'Pemrograman']*2,
        'Tipe Ujian': ['UTS']*5 + ['UAS']*5,
        'Jumlah Mahasiswa': [30, 34, 28, 29, 32, 30, 31, 27, np.nan, 28],
        'Nilai Rata-rata Kelas': [random.choice(range(60, 85)) for i in range(10)]}

df = pd.DataFrame(data)
df

Output:

head()

head() digunakan untuk menampilkan data awal atau data teratas pada dataframe. Default-nya jika kita tidak memberikan argumen di dalam tanda kurung (), data yang akan ditampilkan adalah 5 baris teratas. Namun, kita juga dapat menentukan berapa baris data yang ingin ditampilkan dengan memberikan argumen berupa bilangan integer.

tail()

tail() digunakan untuk menampilkan data terbawah pada dataframe. Sama halnya dengan head(), nilai default tail() adalah 5.

Baca juga: Membuat Dataframe dari List dengan zip() Function di Python

sample()

sample() digunakan untuk menampilkan contoh data secara acak. Default-nya adalah 1, namun kita dapat memberikan bilangan integer sebagai argumen jika menginginkan sampel data lebih dari 1.

info()

info() digunakan untuk menampilkan informasi detail tentang dataframe, seperti jumlah baris data, nama-nama kolom berserta jumlah data dan tipe datanya, dan sebagainya.

describe()

describe() digunakan untuk menampilkan deskriptif statistik data. Hanya kolom yang bertipe numerik yang akan ditampilkan statistiknya.

set_index()

set_index() digunakan untuk mengatur indeks dari dataframe. Kita dapat menjadikan kolom sebagai indeks ataupun menentukan indeks baru dengan set_index().

Baca juga: Penjelasan Parameter inplace=True di Pandas Untuk Pemula

reset_index()

head()1 digunakan untuk me-reset indeks yang telah ter-set dan menjadikan indeksnya default, yaitu berupa bilangan integer yang dimulai dari 0.

count()

head()2 digunakan untuk menghitung jumlah baris data yang tidak bernilai NaN pada dataframe.

sum()

head()3 digunakan untuk menjumlahkan bilangan numerik pada dataframe berdasarkan kolom.

mean()

head()4 digunakan untuk menghitung nilai rata-rata dari sebuah kolom numerik di dataframe.

unique()

head()5 digunakan untuk menampilkan nilai unik dari suatu kolom.

isna()

head()6 digunakan untuk mengecek apakah ada nilai NaN pada dataframe. Function ini akan mengembalikan nilai Boolean, True atau False, untuk tiap elemen di dataframe. Kita juga dapat menambahkan function head()7 untuk mengecek nilai NaN berdasarkan kolom.

replace()

head()8 digunakan untuk mengganti sebuah nilai pada dataframe. Misalnya disini kita mengganti nilai NaN yang ada di dataframe dengan 30.

astype()

head()9 digunakan untuk mengubah tipe data dari sebuah kolom di dataframe. Misalnya disini kita mengubah tipe data kolom ‘Jumlah Mahasiswa’ dari yang tadinya ‘float’ menjadi ‘int’.

isin()

()0 digunakan untuk mengecek apakah ada elemen tertentu di dalam dataframe. Function ini mengembalikan nilai Boolean, True atau False, untuk tiap elemen pada dataframe. Kita juga dapat menambahkan function head()7 untuk mengecek keberadaan suatu elemen pada kolom tertentu.

Baca juga: Menjadikan Kolom Sebagai Indeks pada Dataframe Pandas

dtypes

()2 digunakan untuk mengecek tipe data untuk tiap kolom di dataframe. Bisa juga digunakan untuk mengecek tipe data salah satu kolom.

Postingan terbaru

LIHAT SEMUA