Pandas SQL di Python

Terus terang saya tertarik dengan adopsi SQL pada Python. Selain karena saya sudah akrab dengan SQL, sintak pandas nemurut saya tidak mudah diingat sebagaimana SQL, sehingga ketika kita tidak sering menggunakannya, kita akan mudah lupa.

Berikut catatan saya tentang penggunaan Pandas-SQL

Setup Virtual Environment. 

Ini tidak harus sih, hanya kalau kita ingin sebuah environment khusus bagi project kita.

PS D:\Python> cd .\DataScience\
PS D:\Python\DataScience> python -m venv ds
PS D:\Python\DataScience> .\ds\Scripts\activate
(ds) PS D:\Python\DataScience> pip install pandas

Install Pandas

(ds) PS D:\Python\DataScience> pip install pandas

Install Pandasql

(ds) PS D:\Python\DataScience> pip install -U pandasql

Contoh Penggunaan

Query pada CSV

1
2
3
4
5
6
7
8
9
10
from pandasql import sqldf
import pandas as pd
 
file = "STUDI KASUS - DATA PENJUALAN_REV.csv"
df = pd.read_csv(file)
 
sql = "SELECT trim(kategori_pelanggan) as kategory_pelanggan, count(no) AS jumlah FROM df GROUP BY trim(kategori_pelanggan)"
 
data = sqldf(sql)
print(data)

Query pada Excel

Untuk istalasi pada Excel kita perlu install openyxl

(ds) PS D:\Python\DataScience> pip install openpyxl

Lalu kita kita gunakan fungsi read_excel() berikut:

1
2
3
4
5
6
7
8
9
10
from pandasql import sqldf
import pandas as pd
 
file = "STUDI KASUS - DATA PENJUALAN_REV.xlsx"
df = pd.read_excel(file, sheet_name=0)
 
sql = "SELECT trim(kategori_pelanggan) as kategory_pelanggan, count(no) AS jumlah FROM df GROUP BY trim(kategori_pelanggan)"
data = sqldf(sql)
 
print(data)

Query pada SQLite

1
2
3
4
5
6
7
8
import sqlite3
import pandas as pd
 
# Create and read your connection.
cnx = sqlite3.connect('latihan2.sqlite3')
df = pd.read_sql_query("SELECT * FROM penjualan", cnx)
 
print(df)

Mungkin kamu perlu membaca artikel “Ngoding Pandas dengan Skill SQL” untuk menambah wawasan tentang penggunaan SQL untuk menganalisis data.

Enjoy …