×

Pandas Basics Cheat Sheet untuk Data Science

Pandas Basics Cheat Sheet untuk Data Science

1,465 Views

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

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

 

See also  Merge File CSV di Pandas: Panduan Lengkap dan Praktis

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.

See also  Penjelasan Konsep OOP object oriented programming

Demikian tulisan Pandas Basics Cheat Sheet untuk Data Science semoga bermanfaat ya (:)

You May Have Missed