Menangani Spasi pada Kolom dan Value DataFrame

Ketika pandas melakukan pembacaan data dari excel atau CSV, sering kali  pada nama kolom dan data terdapat spasi atau karakter tak terlihat pada sebelum dan sesudahnya.

Dan ini sangat merepotkan data scientis, karena ketika memanggil df[‘nama’] ternyata data tidak muncul hanya karena spasi sehingga baru muncul ketika dipanggil dengan  df[‘nama  ‘]. Sangat mengganggu. Oleh sebab itu harus dilakukan 2 langkah untuk memebereskan hal ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Import Library
import pandas as pd
 
# open file from excel to dataframe
file = "sample_data/STUDI KASUS - SIMULASI RETAIL.xlsx"
df = pd.read_excel(file, sheet_name=0)
 
# Membuang spasi sebelum dan sesudah nilai
# strip columns
df.rename(columns=lambda x: x.strip(), inplace=True)
# strip data value yang tipenya object/string
df_obj = df.select_dtypes(['object'])
df[df_obj.columns] = df_obj.apply(lambda x: x.str.strip())
 
# dari df[df['Tanggal_Pembelian '] == ' 2022-01-03 '] menjadi
df[df['Tanggal_Pembelian'] == '2022-01-03']

Konversi Excel ke SQLite dengan Google Collab

Masih seperti sebelumnya, ini adalah cara paling praktis untuk melakukan konversi Excel ke SQLite menggunakan google Collabs

Mount Drive

1
2
3
# mount drive
from google.colab import drive
drive.mount('/content/drive')

Buka Excel dan Konversi ke sqlite

#import library
import pandas as pd
import sqlite3
 
#open file from excel to dataframe
file = "/content/drive/MyDrive/Colab Notebooks/STUDI KASUS - SIMULASI RETAIL.xlsx"
df = pd.read_excel(file, sheet_name=0) 
 
#create database and connect it
database = "/content/drive/MyDrive/Colab Notebooks/retail_fromxlsx.sqlite3"
conn = sqlite3.connect(database)
 
#save data to sqlite
df.to_sql(name='retail', con=conn)
conn.close()

Konversi Excel ke SQLite dengan Python

Melihat kawan saya mendemonstrasikan konversi dari excel ke SQLite dengan bahasa R, membuat saya cukup iri. mestinya Python juga bisa. Dan ternyata bisa juga hanya dengan beberapa baris perintah.

Mekanismenya begini,

Excel -> Pandas -> SQLite

Hebatnya, kita hanya menentukan nama databasenya, nama tabelnya, lalu dia sendiri yang akan menentukan kolom-kolomnya dan memasukkan data ke tabel. Serba otomatis.

Begini skripnya

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#import library
import pandas as pd
import sqlite3
 
#open file from excel to dataframe
file = "STUDI KASUS - DATA PENJUALAN_REV.xlsx"
df = pd.read_excel(file, sheet_name=0)
 
#create database and connect it
database = "penjualandb.sqlite3"
conn = sqlite3.connect(database)
 
#save data to sqlite
df.to_sql(name='penjualan', con=conn)
conn.close()

Python Pandas: Perbandingan Pandas dengan SQL

Salah satu fungsi pandas sebenarnya mirip SQL yaitu bagaimana meminta data pada sumber data dengan kriteria tertentu. Yang paling umum adalah,

  1. SELECT
  2. WHERE untuk filtering
  3. Fungsi Agregasi SUM(), MIN(), MAX(), AVG()
  4. GROUP BY
  5. ORDER BY
  6. JOIN

Ternyata ada artikel di situs Pandas yang memberikan padanan perintah antara SQL dan Pandas. Kita bisa membacanya disini : Comparison SQL and Pandas . Bahkan bukan hanya itu, Pandas memberikan perbandingan dengan cara pengambilan data yang digunakan di R, Spreadsheet, SAS dan Stata.

Nampaknya petualangan akan semangkin asyik 🙂