Pandas Basics Cheat Sheet untuk Data Science
Library Pandas adalah salah satu perpustakaan paling kuat di Python. Ini dibangun di atas NumPy dan menyediakan struktur data dan alat analisis data yang mudah digunakan untuk bahasa pemrograman Python. Library ini setara dengan package dplyr miliknya R untuk mengolah data berbentuk tabular seperti pivot, aggregasi data, bahkan mendukung visualisasi grafik secara langsung.
Lihat bagian di bawah ini untuk mempelajari berbagai fungsi dan alat yang ditawarkan Pandas. Pada tulisan Pandas Basics Cheat Sheet untuk Data Science merupakan materi tambahan, kalian bisa membeli buku yang saya terbitkan di graha ilmu. Gunakan Pandas Basics Cheat Sheet untuk Data Science ini sebagai panduan di awal dan kembali lagi saat dibutuhkan, dan semoga kalian akan segera menguasai library pandas sebagai pengolah data tabular.
Pandas Data Structures
Contents
Ada 2 tipe struktu data pandas. Pertama untuk 1 dimensi/array/vector disebut dengan Series dan yang kedua adalah 2 dimensi/tabular/tabel disebut dengan Data Frame. Setiap Series dan Data Frame mempunyai index yang merupakan akses unique terhadap setiap row/baris ataupun bisa dicustom sesuai keinginan
- Series — One dimensional disebut dengan array
>>> s = pd.Series([3, -5, 7, 4], index = ['a','b','c','d']) a 3 b -5 c 7 d 4
- Data Frame — A two dimensional disebut dengan data structure
data = {'Country':['Indonesia','India','Brazil'], 'Capital':['Semarang','New Delhi','Brasilia'], 'Population':['111907','1303021','208476']} df = pd.DataFrame(data, columns = ['Negara','Capital','Population'])
Country Capital Population 0 Indonesia Semarang 111907 1 India New Delhi 1303021 2 Brazil Brasilia 208476
Dropping
Dropping atau menghapus spesifik nilai/value dari Series dan bagaimana menghapus kolom dan baris dari Data Frame
- Drop values from rows (axis = 0) Series
>>> s.drop(['a','c']) b -5 d 4
- Drop values from columns (axis = 1)
>>> df.drop('Country', axis = 1) Capital Population 0 Semarang 111907 1 New Delhi 1303021 2 Brasilia 208476
Sort & Rank
Dalam bab ini, kita akan belajar mengurutkan sorting Data Frame menggunakan index atau pun kolom berdasarkan value / nilainya.
- Sort by labels along an axis
>>> df.sort_index() Country Capital Population 0 Belgium Brussels 111907 1 India New Delhi 1303021 2 Brazil Brasilia 208476
- Sort by values along an axis
>>> df.sort_values(by = 'Country') Country Capital Population 0 Belgium Brussels 111907 2 Brazil Brasilia 208476 1 India New Delhi 1303021
- Assign ranks to entries
>>> df.rank() Country Capital Population 0 1.0 2.0 1.0 1 3.0 3.0 2.0 2 2.0 1.0 3.0
Informasi Series/DataFrame
Informasi mengenai struktur seperti jumlah baris / kolom serta nama kolom/header sangat mudah kita lakukan
- (rows, columns)
>>> df.shape (3, 3)
- Describe index
>>> df.index RangeIndex(start=0, stop=3, step=1)
- Describe DataFrame columns
>>> df.columns Index(['Country', 'Capital', 'Population'], dtype='object')
- Info on DataFrame
>>> df.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 3 entries, 0 to 2 Data columns (total 3 columns): Country 3 non-null object Capital 3 non-null object Population 3 non-null object dtypes: object(3) memory usage: 152.0+ bytes
- Number of non-NA values
>>> df.count() Country 3 Capital 3 Population 3
Data Frame Summary
Di bagian ini, kita akan belajar cara mengambil statistik ringkasan data frame yang mencakup jumlah setiap kolom, nilai min / maks dari setiap kolom, nilai rata-rata setiap kolom, dan lain-lain. Kita buat data terlebih dahulu yang berisi angka saja
import pandas as pd data = {'Even':[2,4,6], 'Odd':[1,3,5]} df = pd.DataFrame(data)
- Sum of values
>>> df.sum() Even 12 Odd 9
- Cumulative sum of values
>>> df.cumsum() Even Odd 0 2 1 1 6 4 2 12 9
- Minimum value
>>> df.min() Even 2 Odd 1
- Maximum value
>>> df.max() Even 6 Odd 5
- Summary statistics
>>> df.describe() Even Odd count 3.0 3.0 mean 4.0 3.0 std 2.0 2.0 min 2.0 1.0 25% 3.0 2.0 50% 4.0 3.0 75% 5.0 4.0 max 6.0 5.0
- Mean of values
>>> df.mean() Even 4.0 Odd 3.0
- Median of values
>>> df.median() Even 4.0 Odd 3.0
Selection
Di bagian ini, Anda akan belajar cara mengambil nilai tertentu dari Series dan Data Frame. Kita akan menggunakan s dan df variabel berikut
>>> s a 6 b -5 c 7 d 4 >>> df Country Capital Population 0 Belgium Brussels 111907 1 India New Delhi 1303021 2 Brazil Brasilia 208476
- Mendapatkan satu kolom series
>>> s['b'] -5
- Get subset of a DataFrame
>>> df[1:] Country Capital Population 1 India New Delhi 1303021 2 Brazil Brasilia 208476
- memilih single value dari row & column
>>> df.iloc[0,0] 'Belgium'
- memilih single value dari row dan label column
>>> df.loc[0,'Country'] 'Belgium'
- memilih single row dari subset rows
>>> df.ix[2] Country Brazil Capital Brasilia Population 208476
- memilih single column
>>> df.ix[:,'Capital'] 0 Brussels 1 New Delhi 2 Brasilia
- memilih baris and kolom
>>> df.ix[1,'Capital'] 'New Delhi'
- menggunakan filter
>>> df[df['Population'] > 120000] Country Capital Population 1 India New Delhi 1303021 2 Brazil Brasilia 208476
- Mengeset nilai berdasarkan index tertentu
>>> s['a'] = 6 a 6 b -5 c 7 d 4
Penerapan Lambda Function
Kalian pernah coba menggunakan function apply() di RStudio/R? maka cara kerjanya sama koq tapi di Python disebut dengan Lambda Function yaitu function sebagai argument. Untuk mempermudah kita pakai function umum saja oleh hal tersebut kita isi data frame dengan numerik saja
>>> df Even Odd 0 2 1 1 4 3 2 6 5
- Apply function
>>> df.apply(lambda x: x*2) Even Odd 0 4 2 1 8 6 2 12 10
In/Out
Di bagian ini, kita akan belajar cara membaca file CSV, file Excel, dan SQL Query ke dalam Python menggunakan Pandas serta juga akan mempelajari cara mengekspor Data Frame dari Pandas ke file CSV, file Excel, dan SQL Query. Oiya untuk SQL yang digunakan berupa SQLite
- Read CSV file
>>> pd.read_csv('file.csv')
- Write to CSV file
>>> df.to_csv('myDataFrame.csv')
- Read Excel file
>>> pd.read_excel('file.xlsx')
- Write to Excel file
>>> pd.to_excel('dir/'myDataFrame.xlsx')
- Read multiple sheets dari file yang sama
>>> xlsx = pd.ExcelFile('file.xls') >>> df = pd.read_excel(xlsx, Sheet1')
- Read SQL Query
>>> from sqlalchemy import create_engine >>> engine = create_engine('sqlite:///:memory:') >>> pd.read_sql('SELECT * FROM my_table;', engine) >>> pd.read_sql_table('my_table', engine)
- Write to SQL Query
>>> pd.to_sql('myDF', engine)
Python adalah tools teratas dalam hal data science untuk saat ini dan di masa mendatang. Pengetahuan tentang Pandas salah satu perpustakaannya yang paling kuat sering kali menjadi persyaratan bagi Data scientis saat ini.
Demikian tulisan Pandas Basics Cheat Sheet untuk Data Science semoga bermanfaat ya (:)