Python ve Pandalarla Veri Temizleme Nasıl Yapılır?

Python Ve Pandalarla Veri Temizleme Nasil Yapilir



Verileri Python ve Pandas kullanarak temizlemeyi öğrenmek, verilerle çalışan herkes için çok önemlidir. Veri temizleme çoğunlukla hataların ve tutarsızlıkların giderilerek doğru analiz ve modelleme amacıyla kullanılır. Bu kılavuz, eksik verileri nasıl ele alacağımızı ve aykırı değerleri nasıl tespit edeceğimizi veya tanımlayacağımızı gösteren adım adım süreci anlatmaktadır. Araçlarımız Python ve Pandalar ile dağınık verileri temiz, kullanışlı bilgilere dönüştürebiliriz. Bu kılavuz aynı zamanda veri kalitemizi iyileştirmemize ve onu analiz ve karar almaya hazırlamamıza da yardımcı olur.

Verileri Python ve Pandalarla Temizlemek

Veriler günümüzde karar vermenin yapı taşları gibidir. Ancak bu koleksiyondan farklı şekil ve boyutlarda bir grup bloğa sahip olduğunuzu hayal edin; anlamlı bir şey inşa etmek zordur. Veri temizlemenin yardıma geldiği yer burasıdır.

Bu kılavuz, daha iyi karar vermek için Python'un Pandalar çerçevesini kullanarak verilerin nasıl temizleneceğini araştırıyor. Bir mağazanın satış kayıtlarının listesiyle çalıştığımız göz önüne alındığında, veri temizliği de önemlidir. Listede bazı eksik numaraları, garip tarihleri ​​ve sebepsiz tekrarlanan öğeleri fark edebiliriz. Hesaplamaları veya kayıtları bu bilgilere dayanarak yaparsak bu sorunlar hesaplamalarımızı ve tahminlerimizi bozabilir. Veri temizleme, verilerimizin doğru ve kullanıma hazır olmasını sağlayarak bu sorunların çözülmesine yardımcı olur.







Veri temizliği, eksik verilerin ele alınmasını ve bazı veriler eksik olduğunda ne yapılacağını, kopyaların kaldırılmasını, kopyalanan şeylerden kurtulmayı, veri türlerini düzeltmeyi, her şeyin doğru formatta olduğundan emin olmayı ve aykırı değerlerle uğraşmayı veya sayıları işlemeyi içerir. Bu hatalar verilerin aynı görünmesine neden olur ve verilerin görünüşünü standartlaştırır.



Başlamak için öncelikle Python ve Pandas'ın kurulu olduğundan emin olun. Bunu bilgisayarımızın terminaline veya komut istemine komutları yazarak yapabiliriz. Bu kılavuzda bahsettiğimiz kodları uygulamak için sistemimizde kurulu olan Python Pycharm IDE'yi veya online Python platformu olan “Google Colab”ı kullanarak “pip” komutlarını yükleyerek önemli kütüphaneleri kurabiliriz.



Şimdi Pandaları içe aktaralım ve örnek verilerimizi yükleyelim. Bu örnekte kodları çalıştırmak için Google Colab'ı kullanıyoruz. Bu nedenle öncelikle aşağıdaki komutu girerek Pandaları içe aktarıyoruz:





! pip pandaları yükle

içe aktarmak pandalar gibi PD

içe aktarmak dizi gibi Örneğin.

Daha sonra, dosya yolunu giriş parametresi olarak alan pd.read() yöntemini kullanarak görüntülemek istediğimiz veri kümesini yüklüyoruz.

# Veri kümesini yükle

veri = PD. okuma_csv ( '/content/sample_data/california_housing_test.csv' )

# İlk birkaç satırı görüntüle

Yazdır ( veri. KAFA ( ) )



Bir sonraki örnekte küçük bir mağazadaki satışlara ilişkin verileri kullanıyoruz. Eksik verileri ele almak için bazen verilerimizdeki bilgiler eksik olur. Bu eksik parçalara “NaN” (“sayı değil” anlamına gelir) adını veriyoruz. Python betiğindeki bu eksik değerleri bulmak için öncelikle önceki örnekte yaptığımız gibi veri setini yüklüyoruz. Daha sonra “missing_values ​​= data.isnull().sum()” fonksiyonunu kullanarak veri setinde eksik olan değerleri buluyoruz. Bu fonksiyon veri kümesindeki tüm eksik değerleri bulur. Daha sonra bunları print() fonksiyonunu kullanarak görüntülüyoruz.

! pip pandaları yükle
içe aktarmak pandalar gibi PD
içe aktarmak dizi gibi Örneğin.

# Veri kümesini yükle
veri = PD. okuma_csv ( '/content/sample_data/california_housing_test.csv' )

# İlk birkaç satırı görüntüle
Yazdır ( veri. KAFA ( ) )

# Eksik değerleri kontrol edin
kayıp değerler = veri. boş ( ) . toplam ( )

# Eksik değerlerin sayısını sütuna göre göster
Yazdır ( kayıp değerler )

Daha önce bahsettiğimiz kodu çalıştıran herhangi bir satırda eksik veri bulduktan sonra, bu satırlarda çok fazla yararlı veri bulunmadığından bu satırları kaldırabiliriz. Hatta yakın noktalara dayalı zamana dayalı verileri tahmin ederek eksik değerleri tahmin edebilir ve boşlukları bilinçli tahminlerle doldurabiliriz.

Şimdi aynı şeyin kopyası olan kopyaları kaldırıyoruz çünkü bunlar analizimizi karıştırabilir. Veri setindeki kopya değerleri bulmak için “duplicate_rows = data[data.duplicated()]” fonksiyonunu kullanıyoruz. Bu yinelenen değerleri bırakmak için data.drop_duplicates() işlevini çağırırız. Aşağıdaki kodu kullanarak bunları bulabilir ve kaldırabiliriz:

! pip pandaları yükle
içe aktarmak pandalar gibi PD
içe aktarmak dizi gibi Örneğin.
# Veri kümesini yükle
veri = PD. okuma_csv ( '/content/sample_data/california_housing_test.csv' )
# İlk birkaç satırı görüntüle
Yazdır ( veri. KAFA ( ) )

# Yinelenen satırları kontrol edin
kopya_satırlar = veri [ veri. çoğaltılmış ( ) ]

# Kopyaları kaldır
veri = veri. drop_duplicates ( )

# Kopyaları kaldırdıktan sonra ilk birkaç satırı görüntüle
Yazdır ( veri. KAFA ( ) )

Veri türleri, veri türlerini düzeltmek için hangi verilerin saklanabileceğine karar verir. Her veri türü için doğru türe sahip olmak önemlidir. Örneğin tarihler tarih saat veri tipinde olmalı, sayılar ise int, float vb. veri tipinde olmalıdır. Verilerimizin veri tiplerini kontrol etmek için “data.dtypes” fonksiyonunu kullanıyoruz. Bu fonksiyon şu şekilde kullanılabilir:

! pip pandaları yükle
içe aktarmak pandalar gibi PD
içe aktarmak dizi gibi Örneğin.
# Veri kümesini yükle
veri = PD. okuma_csv ( '/content/sample_data/california_housing_test.csv' )
# İlk birkaç satırı görüntüle
Yazdır ( veri. KAFA ( ) )
# Her sütunun veri türlerini kontrol edin
veri tipleri = veri. tipler

# Veri türlerini görüntüle
Yazdır ( veri tipleri )

Herhangi bir sorunla karşılaşırsak Pandaları kullanarak veri türünü değiştirebiliriz. Örneğin tarihleri ​​tarih formatına dönüştürebiliriz. Bir DataFrame'in 'dtypes' özelliği, her sütunun veri türleri hakkında bilgi sağlar. Veri tipi uyumsuzluğunu tespit edersek sütunları istenilen tiplere dönüştürmek için Pandas'ın astype() fonksiyonunu kullanabiliriz.

Veri türlerinden sonra bazen diğerlerinden çok farklı değerler olan aykırı değerlerle karşılaşıyoruz. Hesaplarımızı karıştırabilirler. Aykırı değerlerle başa çıkmak için verilerimizde var olan değerleri eşik değeriyle karşılaştıran “np.abs(stats.zscore(data))” z-score fonksiyonunu kullanan bir fonksiyon tanımlıyoruz. Bu eşik aralığı dışındaki herhangi bir değer aykırı değer olarak kabul edilir . Aykırı değerleri nasıl bulacağımızı ve ele alacağımızı görelim:

! pip pandaları yükle
içe aktarmak pandalar gibi PD
içe aktarmak dizi gibi Örneğin.

# Veri kümesini yükle
veri = PD. okuma_csv ( '/content/sample_data/california_housing_test.csv' )

# İlk birkaç satırı görüntüle
Yazdır ( veri. KAFA ( ) )
itibaren scipy içe aktarmak istatistikler

kesinlikle tespit_outliers ( veri ) :
z_scores = Örneğin. karın kasları ( istatistikler. zscore ( veri ) )
geri dönmek Örneğin. Neresi ( z_scores > 3 )

# 'Satış' sütunundaki aykırı değerleri tespit edin ve yönetin
aykırı değerler = tespit_outliers ( veri [ 'boylam' ] )
veri [ 'boylam' ] . yer [ aykırı değerler ] = veri [ 'boylam' ] . medyan ( )

# 'Satılan Birimler' sütunundaki aykırı değerleri tespit edin ve yönetin
aykırı değerler = tespit_outliers ( veri [ 'enlem' ] )
veri [ 'enlem' ] . yer [ aykırı değerler ] = veri [ 'enlem' ] . medyan ( )

# Aykırı değerleri ele aldıktan sonra ilk birkaç satırı görüntüle
Yazdır ( veri. KAFA ( ) )

Önceki kodda aykırı değerleri bulmak ve düzeltmek için basit bir yöntem kullanıyoruz. Uç değerlerin, verinin orta değeriyle değiştirilmesini içerir. Bu kod, veri setimizin 'boylam' ve 'enlem' sütunlarındaki aykırı değerleri tespit etmek için Z-puanı yöntemini kullanır. Aykırı değerler, ilgili sütunların medyan değerleri ile değiştirilir.

Verilerin aynı görünmesini sağlamak için veriler bazen aynı anlama gelse bile farklı görünebilir. Örneğin tarihler çeşitli formatlarda yazılabilir. Standardizasyon tutarlı bir veri formatı ve temsilinin sağlanmasını içerir. Bu, tarihlerin biçimlendirilmesini, metnin küçük harfe dönüştürülmesini veya sayısal değerlerin normalleştirilmesini içerebilir. Veri kümemizdeki “Tarih” sütununu standartlaştıralım ve verilerimizin aynı göründüğünden emin olalım:

içe aktarmak pandalar gibi PD
içe aktarmak dizi gibi Örneğin. # Numpy'yi içe aktar

# Veriyi yükle
veri = PD. okuma_csv ( 'sales_data.csv' )

# 'Tarih' sütununun tutarlı görünmesini sağlayın
veri [ 'Tarih' ] = PD. to_datetime ( veri [ 'Tarih' ] )

# Şimdi neye benzediğini görün
Yazdır ( veri. KAFA ( ) )

Bu örnekte veri setimizdeki tarih formatını “pd.to_datetime(data[‘Date’])” fonksiyonunu kullanarak Python’un datetime formatına standartlaştırıyoruz. “Tarih” sütununu da aynı formata dönüştürerek bu verilerle çalışmayı kolaylaştırıyoruz. Çıktı, standartlaştırılmış 'Tarih' sütunuyla birlikte veri kümesinin ilk birkaç satırını görüntüler.

Çözüm

Python ve Pandaları kullanarak veri temizleme yolculuğumuzda, verilerimizi analiz için nasıl geliştirebileceğimizi öğrendik. Verileri temizlemenin neden bu kadar önemli olduğunu anlayarak başladık. Daha iyi kararlar almamıza yardımcı olur. Eksik verilerle nasıl başa çıkacağımızı, kopyaları nasıl kaldıracağımızı, veri türlerini nasıl düzelteceğimizi, aykırı değerleri nasıl ele alacağımızı ve verilerimizin aynı görünmesini nasıl sağlayacağımızı araştırdık. Bu becerilerle, karmaşık bir veriyi güvenebileceğimiz ve önemli bir bilgiyi keşfetmek için kullanabileceğimiz bir şeye dönüştürmeye daha hazırlıklı oluruz. Veri temizliği odamızı düzenli tutmak gibi devam eden bir süreçtir ve veri analizi yolculuğumuzu daha başarılı kılar.