dinarmalik37 / tugas_akhhir

prediksi penjualan bbm di spbu
0 stars 0 forks source link

preprosessing #1

Open dinarmalik37 opened 1 month ago

dinarmalik37 commented 1 month ago

from google.colab import drive drive.mount('/content/drives/', force_remount=True) import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns data = pd.read_csv('/content/drives/MyDrive/tugas akhir/kodingan /data_stok_bbm(revisi).csv') data.head() data.info() data.describe() import pandas as pd

Menampilkan informasi awal dataset

print(f'Jumlah Baris Awal: {data.shape[0]}') print(f'Jumlah Kolom Awal: {data.shape[1]}') print(f'Jumlah Missing Value Awal: {data.isnull().sum().sum()}') print(f'Jumlah Duplikasi Data Awal: {data.duplicated().sum()}')

Menghapus baris dengan missing value

data_cleaned = data.dropna()

Menghapus baris duplikat

data_cleaned = data_cleaned.drop_duplicates()

Menampilkan informasi setelah pembersihan

print(f'\nJumlah Baris Setelah Pembersihan: {data_cleaned.shape[0]}') print(f'Jumlah Kolom Setelah Pembersihan: {data_cleaned.shape[1]}') print(f'Jumlah Missing Value Setelah Pembersihan: {data_cleaned.isnull().sum().sum()}') print(f'Jumlah Duplikasi Data Setelah Pembersihan: {data_cleaned.duplicated().sum()}')

Menyimpan dataset yang telah dibersihkan ke file CSV baru

cleaned_file_path = 'path_to_cleaned_dataset.csv' data_cleaned.to_csv(cleaned_file_path, index=False) data.columns import pandas as pd

Daftar kolom yang akan didrop

kolom_didrop = ['SPBU', 'Stock_Awal (kl)', 'Penerimaan (kl)', 'Penjualan Totalisator (kl)', 'Nozzle_Test (kl)', 'Stok Akhir_Teoritis (kl)', 'Stok_Akhir_Real (kl)', 'Gain_Loss (kl)', 'GainLoss (%)', 'Gain Loss diatas Toleransi (%)', 'Volume_diatas Toleransi']

Mendrop kolom yang tidak diperlukan

data_dropped = data.drop(columns=kolom_didrop)

Menyimpan data yang telah diubah ke file CSV baru

data_dropped.to_csv('data_transaksi_dropped.csv', index=False) data.info() data.drop('SPBU', axis=1 ,inplace=True) data.drop('Stock_Awal (kl)', axis=1 ,inplace=True) data.drop('Penerimaan (kl)', axis=1 ,inplace=True) data.drop('Penjualan Totalisator (kl)', axis=1 ,inplace=True) data.drop('Nozzle_Test (kl)', axis=1 ,inplace=True) data.drop('Stok Akhir_Teoritis (kl)', axis=1 ,inplace=True) data.drop('Stok_Akhir_Real (kl)', axis=1 ,inplace=True) data.drop('Gain_Loss (kl)', axis=1 ,inplace=True) data.drop('GainLoss (%)', axis=1 ,inplace=True) data.drop('Gain Loss diatas Toleransi (%)', axis=1 ,inplace=True) data.drop('Volume_diatas Toleransi', axis=1 ,inplace=True) data.reset_index(drop=True) import pandas as pd

Membaca data

data = pd.read_csv('/content/data_transaksi_dropped.csv') # Ganti dengan path file yang sesuai

Daftar produk yang ingin difilter

produk_tertentu = ['BIO SOLAR', 'PERTALITE', 'PERTAMAX', 'PERTAMAX TURBO', 'PERTAMINA DEX']

Memfilter dan menyimpan data berdasarkan produk

for produk in produk_tertentu: filtered_data = data[data['Produk'] == produk] filename = f'{produk.replace(" ", "")}_data.csv' filtered_data.to_csv(file_name, index=False) data.info() f, ax = plt.subplots(figsize=(10, 5)) sns.countplot(y="Produk", data=data, color="g"); plt.title('Number of produk');