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) |
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) |
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) |
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 …