Python ile Veri Temizleme İşlemleri

Emre Altın
3 min readJun 12, 2023

--

Veri analizi yapmadan önce ilk yapılması gereken şeylerden biri “veri temizleme”dir. Veri temizleme işlemi; analiz yaparken verilerimizin daha anlaşılır ve daha verimli kullanılabilmesi için önemli bir aşamadır.

Analiz yapmadan önce veri kümesinin manipüle edilmesi, tekrar eden kayıtların kaldırılması, boş veya eksik değerlerin düzenlenmesi gerekir. Bu işlemleri gerçekleştirmediğimiz durumda hesaplama yaparken büyük sorunlarla karşılaşabiliriz.

Bu yazımızda örnek bir e-ticaret sitesi verisi üzerinde veri temizleme işlemleri yapacağız. Bu işlemler için Jupyter Notebook kullanacağız.

Veri Toplama

Gerekli kütüphanelerin içeri aktarılması

İlk adımda, gerekli kütüphaneleri import etmemiz gerekiyor.

import pandas as pd

Veri setimizi okumak için pandas kütüphanesi ile dataframe içerisinde görüntülüyoruz.

storeData = pd.read_csv('./storeData.csv', encoding='cp1252')
storeData.head()
Head komutu ilk beş kaydı listeler.

Dataframe içerisine veri setimizi yüklemek için pandas kütüphanesinin read_csv metodunu kullandık. Sonrasında ilk beş satırı listelemek için head metodunu kullanıyoruz.

Verimizdeki her bir satır; ürünlerin birim fiyatını, sipariş miktarını, kâr oranını ve kargo metodunu temsil ediyor.

Gereksiz Verilerin Silinmesi

‘Customer ID’ isimli sütun’u analimizde kullanmayacağımız için kaldırabiliriz. Drop metodu ile istemediğimiz sütunu kaldırdık. Sonrasında veri setimizi columns parametresini kullanarak sütunları doğrulamış olduk.

storeData.drop('Customer ID',axis=1,inplace=True) 
storeData.columns

Sonuç:

Index(['Order Date', 'Ship Date', 'Ship Mode', 'Customer ID', 'Customer Name',
'Segment', 'City', 'State', 'Postal Code', 'Region', 'Product ID',
'Category', 'Sub-Category', 'Product Name', 'Sales', 'Quantity',
'Discount', 'Profit', 'profit margin'],
dtype='object')

Veri Bütünlüğü

Şimdi de veri setimiz hakkında daha fazla bilgi edinmemiz gerekiyor. Shape komutu ile veri setimizde kaç sütun ve satır olduğunu öğrenebiliriz.

storeData.shape
Result => (9994, 19)

Başlık ve 19 sütun dahil 9.994 satır vardır.

storeData.info()
storeData.info()

Info komutu ile verinin satır ve sütunlarının uyuştuğunu, boş değer olup olmadığını ve veri tiplerini doğruladık.

Eksik Değerlerin Kontrol Edilmesi

Bir sütundaki değer eksik veya bilinmiyorsa null değeri kullanılır. NaN, sayı değil anlamına gelir ve bir veri kümesindeki eksik değeri temsil etmek için kullanılır. Aşağıdaki komut ile satırlarımızda null olan kayıt olup olmadığını öğreniyoruz.

storeData.isnull().sum()
Verimizde null olan kayıt bulunmuyor

Tekrar Eden Satırların Kaldırılması

Yinelenen değerler varsa veri kümemizden kaldırmamız gerekiyor.

storeData.duplicated().sum()
result => 1

Komutu çalıştırdığımızda bir satır yinelenen veri bulduk. Tekrar eden kayıtları listelemek için duplicated komutunu kullanıyoruz.

storeData[storeData.duplicated(keep = 'last')]
Tekrar eden kayıt örneği
storeData.drop_duplicates(inplace = True)
storeDatastore.shape

Result => (9993, 18)

Tekrar eden kayıtlarımızı kaldırdıktan sonra shape komutunu kullanarak tekrar eden kayıtların kaldırılıp kaldırılmadığını teyit ediyoruz.

Bu yazımızda belli başlı veri temizleme yöntemlerini kullandık. Veri büyüklüğüne ve karmaşıklığına göre veri temizleme için farklı yöntemler de kullanabilir.

Bir sonraki yazımızda temizlediğimiz veri kümesi üzerinde e-ticaret satış analizi yapacağız.

--

--