NumPy ve Pandas Kullanarak Veri Setlerini Temizleme

NumPy ve Pandas Kullanarak Veri Setlerini Temizleme

NumPy ve Pandas kullanarak veri setlerini temizleme işlemini öğrenin Kodlar aracılığıyla duplikasyonları, eksik verileri ve anlamsız değerleri ortadan kaldırın NumPy ve Pandas ile veri analizindeki kalitenizi artırın

NumPy ve Pandas Kullanarak Veri Setlerini Temizleme

Bu makalede, veri setleri içindeki hatalı, eksik veya tutarsız verileri temizlemek için kullanabileceğiniz NumPy ve Pandas kütüphanelerinin nasıl kullanılacağını öğreneceksiniz. Verileri düzenlemeden önce, veri setinizdeki belirli sorunları tespit etmeniz gerekecektir. Pandas kütüphanesinin kullanışlı fonksiyonları sayesinde eksik verilerinizi, hatalı değerleri ve diğer problemleri kolayca tespit edebilirsiniz. Bu doğru verileri elde etmek için gerekli adımları izleyerek veri setlerinizi daha etkili hale getirebilirsiniz.


Veri Temizleme Nedir?

Veri temizleme, bir veri setinde yer alan hatalı, eksik veya tutarsız verilerin düzeltilmesi ya da kaldırılması işlemidir. Veri temizleme işlemi, veri analizi yaparken önemli bir adım olarak karşımıza çıkar. Çünkü hatalı veriler istatistiksel sonuçları ve verilerin doğruluğunu etkileyerek yanlış kararlar alınmasına yol açabilir.

Veri temizleme işlemi, farklı metotlar kullanılarak yapılabilir. Veri setinde yer alan eksik veriler, hatalı değerler veya yanlış biçimlendirilmiş veriler tespit edilerek, bu hatalı verileri silmek, eksik verileri doldurmak veya verileri dönüştürmek gibi yöntemler kullanılabilir. Bu sayede, veri setleri analiz edilirken daha doğru sonuçlar elde edilebilir.


NumPy ve Pandas Kütüphaneleri

Veri temizleme işlemlerinde sıklıkla kullanılan NumPy ve Pandas kütüphaneleri Python dilinde geliştirilmiştir. NumPy sayısal işlemler yapmak, matematiksel işlemler gerçekleştirmek için kullanılan bir kütüphanedir. Veri setlerinin işlenmesi, sayısal işlemlerin yapılması sırasında en yaygın olarak kullanılan kütüphanedir. Pandas ise veri analizi işlemleri yapmak için geliştirilmiştir ve veri setleri üzerindeki işlemlerin hızlı ve kolay bir şekilde yapılmasına yardımcı olur.

NumPy ve Pandas birbirleri ile uyumlu hale gelerek daha verimli bir hale gelirler ve veri işleme işlemleri daha üst seviyede gerçekleştirilebilir. Veri setlerindeki hatalı, eksik veya tutarsız verilerin temizlenmesi işlemleri de bu kütüphaneler ile kolaylıkla gerçekleştirilebilir. NumPy kütüphanesi, verilerin dizi halinde sıralanarak işlemlerin yapılmasını sağlayan Python paketidir. Bu kütüphane ile hızlı işlemler yapılabilmesi için verilerin diziler halinde saklanması gerekir. Pandas ise, veri setleri ile işlem yapmak için bir Python paketidir.


Veri Setlerini Yükleme

Veri setleri üzerinde çalışmaya başlamadan önce, öncelikle NumPy veya Pandas kütüphanelerini kullanarak veri setini yüklemeniz gerekiyor. Bu nedenle, veri setinizi nereden alacağınıza karar verdikten sonra, yüklemek istediğiniz kütüphaneye karar vermelisiniz.

NumPy kütüphanesi, metin dosyalarındaki verileri NumPy dizilerine yüklemek için oldukça kullanışlı bir yöntem sağlar. Bunun için, NumPy'nin loadtxt() fonksiyonunu kullanabilirsiniz. Bu yöntem, her satırın bir dizi elemanı olduğu bir dizi döndürür.

data.txt
1,2,3 4,5,6
7,8,9 10,11,12

Örnek kod aşağıdaki gibidir:

import numpy as npdata = np.loadtxt("data.txt", delimiter=",")

Pandas kütüphanesi ise, CSV dosyalarındaki verileri Pandas DataFrame'lerine yüklemek için kullanışlı bir yöntem sağlar. Bunun için, Pandas'ın read_csv() fonksiyonunu kullanabilirsiniz. Bu yöntem, birleştirilmiş bir dizi olarak verilen tüm verileri içeren bir DataFrame döndürür.

id name age
1 John 25
2 Jane 30
3 Bob 45

Örnek kod aşağıdaki gibidir:

import pandas as pddata = pd.read_csv("data.csv")

Veri setlerindeki herhangi bir hata veya eksiklik olmaması için, veri dosyalarınızın düzgün biçimlendirilmiş olması önemlidir.


NumPy İle Veri Setleri Yükleme

NumPy, Python programlama dili için bir matematiksel kütüphanedir. Bu kütüphanenin readtxt() fonksiyonu, girilen metin dosyası içerisindeki verileri NumPy dizisi olarak yüklemenizi sağlar. Bu fonksiyon sayesinde veri setinizi yüklerken verileri manuel olarak girmek zorunda kalmazsınız.

NumPy'nin loadtxt() fonksiyonunun kullanımı oldukça basittir. Sadece dosya adını belirtmeniz ve belirli ayarlar yapmanız gerekiyor. Bu ayarlar arasında verilerin sütunlar arasında nasıl ayrıldığını belirtmek, verilerin sütunlarının tiplerini belirtmek ve verilerin başlangıç ve bitiş satırlarını belirtmek yer alır.

dosiadi.txt Column1, Column2, Column3 1, 2, 3 4, 5, 6 7, 8, 9

Yukarıdaki örnekte, sütunlar arasında virgül kullanılarak ayrılmış üç sütunlu basit bir veri dosyası gösterilmiştir. Bu veri dosyasını NumPy ile yüklemek için şu kodu kullanabilirsiniz:

import numpy as np# Veri setini yüklemedata = np.loadtxt("dosiadi.txt", delimiter=",", dtype=int, skiprows=1)

Bu kod, "dosiadi.txt" dosyasındaki verileri yükleyecek ve NumPy tarafından oluşturulan bir dizi olarak "data" adlı bir değişkene atayacaktır.

İster NumPy, ister Pandas kullanın, veri setinizi doğru şekilde yüklemek, veri temizleme işlemine başlamadan önce çok önemlidir. Bu nedenle, doğru şekilde yüklemek için gerekli ayarları yapmaya özen gösterin.


Pandas İle Veri Setleri Yükleme

Pandas, veri setlerini yükleme konusunda oldukça esnek bir seçenek sunar. Verilerinizi hemen hemen her formatında yükleyebilirsiniz ancak en sık kullanılan formatlardan birisi CSV'dir. Pandas'ın read_csv() fonksiyonu, CSV dosyalarındaki verileri Pandas DataFrame'lerine yüklemenizi sağlar.

read_csv() fonksiyonu, dosya yolu veya URL gibi bir dizi parametre kullanarak data setlerini okuyabilir. Bu fonksiyon ayrıca okuma işlemi sırasında sütunları, veri tiplerini ve sayınlarını otomatik olarak tahmin edebilir. Bunun yanı sıra, bazı özel ayarları da kullanarak dosyalarda bulunan ayraçlar, başlık satırları ve şablolar gibi çeşitli dosya yapılandırmalarını da özelleştirebilirsiniz.

Bir örnek vermek gerekirse, read_csv() fonksiyonu, aşağıdaki gibi bir kod kullanılarak CSV dosyasının yüklenmesini sağlayabilir:

import pandas as pd
df = pd.read_csv( 'veriseti.csv', sep=',',
header = 0, index_col = 0, quotechar='"',
na_values = [''], encoding = 'utf-8')

Bu kod, "veriseti.csv" dosyasını Pandas DataFrame olarak okur. Dosya virgülle ayrılmış bir formatta olduğundan, 'sep' parametresi "," olarak belirtilir. Ayrıca, 'header' parametresi 0 olduğundan, ilk satır sütun başlıklarını içerir ve 'index_col' parametresi de 0 olduğundan, ilk sütun index olarak kullanılır.


Veri Setleri İçindeki Hataları Tespit Etme

Veri setleri içindeki hataları tespit etmek, verilerin doğruluğunu artırmak için önemlidir. Bu hatalar, eksik veriler, yanlış biçimlendirilmiş veriler veya hatalı değerler olabilir. Pandas kütüphanesi, bu hataları tespit etmek için birkaç fonksiyon sağlar.

  • isnull() veya isna() fonksiyonları: Bu fonksiyonlar, veri setindeki eksik verileri tespit etmek için kullanılır. isnull() fonksiyonu, veri setindeki NaN (Not a Number) değerlerini tespit ederken, isna() fonksiyonu, hem NaN değerlerini hem de Python'daki None değerlerini tespit eder.
  • describe() fonksiyonu: Bu fonksiyon, veri setindeki değerlerin istatistiklerini hesaplar (örneğin, ortalama, standart sapma vb.) ve bu istatistiklerin yanında minimum ve maksimum değerleri de gösterir. Bu fonksiyon sayesinde, veri setindeki hatalı değerleri tespit etmek mümkündür.

Bu fonksiyonlar, veri setlerindeki hatalı değerleri tespit etmek için oldukça kullanışlıdır. Ancak tespit edilen hatalı değerlerin temizlenmesi için ek adımlar atılması gerekmektedir.


Eksik Verileri Tespit Etme

Eksik veriler, herhangi bir veri setinin analizi sırasında karşılaşılabilecek en yaygın sorunlardan biridir. Eksik verileri tespit etmek için Pandas'ın iki farklı fonksiyonu kullanılabilir: isnull() ve isna(). Bu fonksiyonlar, bir Pandas DataFrame'indeki her elemanın eksik olup olmadığını kontrol eder. isnull() fonksiyonu, veri setindeki NaN (Not a Number) olarak işaretlenmiş tüm değerleri tespit ederken, isna() fonksiyonu, veri setindeki eksik değerleri (NaN veya None olarak işaretlenmiş) tespit eder.

Ayrıca, bir Pandas DataFrame'inin boyutunu (satır ve sütun sayısı) ve veri tiplerini (int, float, string, vb.) de kontrol edebilirsiniz. Bu bilgiler, verileri daha ayrıntılı bir şekilde incelemek ve eksik verileri tespit etmek için kullanılabilir.

Fonksiyon Açıklama
isnull() NaN (Not a Number) olarak işaretlenmiş tüm değerleri tespit eder.
isna() NaN veya None olarak işaretlenmiş tüm eksik değerleri tespit eder.

Hatalı Değerleri Tespit Etme

Hatalı değerler, veri setlerindeki diğer hatalar gibi sorunlara neden olabilir. Pandas'ın describe() fonksiyonu, bir sütun içindeki değerlerin sayısını, ortalama değerini, standart sapmasını, minimum ve maksimum değerlerini ve diğer istatistiksel bilgileri gösteren bir özet istatistikleri raporu oluşturur. Bu rapor sayesinde, beklenmeyen değerlerin nerede olduğunu belirleyebilir ve bunların ne olduğunu daha iyi anlayabilirsiniz.

Aşağıdaki örnek, bir veri setindeki "age" sütununa describe() fonksiyonunun nasıl uygulanacağını gösterir:

count mean std min 25% 50% 75% max
891.0 29.699118 14.526497 0.42 20.125 28.0 38.0 80.0

Bu rapor, "age" sütununda 891 değer olduğunu, ortalamanın 29.7 olduğunu, standart sapmanın 14.5 olduğunu gösterir. Ayrıca, en küçük değerin 0.42, en büyük değerin 80 olduğunu, ilk çeyrek değerinin 20.1, medyanın 28 ve son çeyrek değerinin 38 olduğunu belirtir.

Bu rapora dayanarak, örneğin "age" sütunundaki 0 değerleri veya 1000 değerleri gibi beklenmeyen veya hatalı değerleri tespit edebilirsiniz.


Veri Setlerindeki Hatalı Verileri Temizleme

Veri analizi sürecinde, eksik veya yanlış formatta veriler sık sık karşımıza çıkmaktadır. Bu nedenle, veri setlerindeki hatalı verileri düzeltmek veya kaldırmak üzere üçüncü bir adım şarttır. Pandas kütüphanesi, veri setlerindeki hatalı verilerin düzeltilmesinde yararlı bir araçtır.

Bu adımda, tespit edilen hatalı verileri temizlemeniz gerekiyor. Eksik verileri silmek veya eksik verileri doldurmak, düzeltmeniz gereken bazı yöntemler arasında yer almaktadır. Verileri silmek, genelde hatalı verilerin birkaç satırda yer alması durumunda kullanılan bir yöntemdir. Eksik verileri doldurmak, hatalı ve boşluk dolu verileri yedeklemek için kullanılabilecek bir başka yöntemdir. Tablolar veya listeler kullanarak hatalı veya eksik verileri göstermeniz de faydalı olabilir.

Hatalı Veri Doğru Veri
192 19.2
3-4-2021 2021-03-04
  • Eksik verileri silmek için: Pandas’ın dropna() veya drop() fonksiyonlarını kullanabilirsiniz.
  • Eksik verileri doldurmak için: Pandas’ın fillna() fonksiyonunu kullanabilirsiniz.
  • Verileri dönüştürmek için: Pandas’ın astype() fonksiyonunu kullanabilirsiniz.

Hatalı ve eksik verileri temizledikten sonra, son adıma geçerek temizlenmiş veri setlerini inceleyebilirsiniz.


Başa Dönüş

Veri setlerinin temizlenmesi sürecinde, veri setleri içindeki hataların tamamen temizlenip temizlenmediği her zaman belirli değildir. Bu nedenle, temizleme işlemini tamamlamadan önce önceki adımları tekrar kullanarak başa dönmelisiniz. Bu, yeni hataları tespit etmenize ve temizleme sürecini tamamlamanıza yardımcı olur.

Başa dönerek, önceki adımlardan herhangi birinde gözden kaçırdığınız hataları da tespit edebilirsiniz. Bu adım, veri setleri içindeki hataları tamamen ortadan kaldırmak ve doğru sonuçlar elde etmek için son derece önemlidir.


Verileri Silme

Hatalı verilerin tespit edilmesinin ardından, bir sonraki adım bu verilerin silinmesidir. Pandas kütüphanesi, dropna() ve drop() fonksiyonlarını kullanarak hatalı verileri veri setinizden kaldırmanıza olanak tanır.

dropna() fonksiyonu, verilerdeki tüm eksik değerleri kaldırırken, drop() fonksiyonu belirli bir satır veya sütunu kaldırmak için kullanılabilir. Örneğin, aşağıdaki kod, 'dunya_kupasi_2022.csv' dosyasındaki tüm eksik değerleri kaldırır:

import pandas as pd
df = pd.read_csv('dunya_kupasi_2022.csv')
df_dropna = df.dropna()

Bu kodda, okunan veri seti 'df' değişkenine atanır. Daha sonra, dropna() fonksiyonu kullanılarak tüm eksik verileri olan satırlar 'df_dropna' değişkeninden kaldırılır.

Bir başka örnek olarak, aşağıdaki kod, 'dunya_kupasi_2022.csv' dosyasındaki 'Ülke' sütunundaki eksik değerleri kaldırır:

import pandas as pd
df = pd.read_csv('dunya_kupasi_2022.csv')
df_drop_country = df.dropna(subset=['Ülke'])

Bu kodda, drop() fonksiyonu kullanılarak 'Ülke' sütunundaki eksik verilerin olduğu satırlar kaldırılır ve 'df_drop_country' değişkeninde saklanır.

Bu işlemlerin ardından veri setiniz hatalı verilerden arındırılmış olur ve analiz için hazırdır.


Eksik Değerleri Doldurma

Eksik verilerin olduğu veri setlerinde, bu verilerin doğru bir şekilde doldurulmaması verinin analiz edilmesi ve yorumlanmasını olumsuz etkileyebilir. Bu nedenle, eksik verilerin doldurulması oldukça önemlidir. Pandas kütüphanesi, eksik verileri doldurmak için fillna() fonksiyonunu kullanır.

fillna() fonksiyonu, veri setindeki eksik verileri belirli bir stratejiye göre doldurur. Bu strateji, hangi verilerin nasıl doldurulacağına karar vermek için kullanılabilir. Örneğin, veri setindeki eksik değerleri ortalama değerle doldurmak için mean() fonksiyonu kullanılabilir. Aşağıdaki örnekte, veri setindeki eksik verileri ortalama değer ile doldurmak için fillna() fonksiyonu kullanılmıştır.

Ülke Nüfus
Türkiye 80.000.000
Azerbaycan NaN
Gürcistan 3.000.000

Yukarıdaki örnekte, Azerbaycan'ın nüfusu bilinmiyor. Bu eksik veriyi ortalama nüfus değeri ile doldurmak için fillna() fonksiyonu kullanılabilir. Aşağıdaki kod bloğunda, fillna() fonksiyonu kullanılarak eksik verinin ortalama değerle doldurulması gösterilmektedir.

import pandas as pdveri_seti = pd.read_csv("veri_seti.csv")ortalama_nufus = veri_seti['Nüfus'].mean()veri_seti['Nüfus'].fillna(ortalama_nufus, inplace=True)

fillna() fonksiyonunun inplace parametresi, veri setindeki eksik verilerin kalıcı olarak doldurulmasını sağlar. Bu şekilde, veri setine yeni bir sütun eklemek gerekmez.

Eksik verileri doldurmak için kullanılabilecek diğer stratejiler şunlardır:

  • Medyan değer
  • En sık görülen değer
  • Önceki veya sonraki değer

fillna() fonksiyonu, bu stratejileri kullanarak eksik verileri kolayca doldurabilir. Dolayısıyla, eksik verilerin doldurulması için Pandas'ın fillna() fonksiyonu oldukça yararlı bir araçtır.


Verileri Dönüştürme

Verileri Dönüştürme

Hatalı biçimlendirilmiş verileri düzeltmek için Pandas'ın astype() fonksiyonu kullanılabilir. Bu, örneğin, bir sayısal sütunun yanlış biçimlendirilmiş string bir değer içermesi durumunda kullanışlıdır. astype() fonksiyonu, bir DataFrame'deki sütunun veri tipini belirtilen veri tipine dönüştürür.

astype() fonksiyonu, ayrıca boşluklar veya diğer gereksiz karakterlerle biçimlendirilmiş verileri de düzeltebilir. Örneğin, "1. 000" yerine "1000" olarak biçimlendirilmiş bir sayıyı dönüştürmek için kullanılabilir.

Bu işlemi yapmak için astype() fonksiyonu kullanılarak sütunun veri tipi belirlenir ve belirlenen veri tipi uygun bir şekilde biçimlendirilmiş verilerle güncellenir. İşlem sonunda, sütunun veri tipi, belirlenen veri tipine uygun olarak değiştirilir ve hatalı veriler düzeltilir.

Örneğin, aşağıdaki örnekte, bir DataFrame'deki "yas" sütunu string olarak saklanır. Bu, veri analizi işlemlerinde bir sorun oluşturabilir, bu nedenle sütunun veri tipini "int" olarak dönüştürmek için astype() fonksiyonu kullanılır.

İsim Yaş
Ahmet "25"
Ayşe "30"
Mehmet "27"

Kod:

df['Yaş'] = df['Yaş'].astype(int)

Bu örnek, "yaş" sütununu "int" veri tipine dönüştürür ve hatalı string değerler düzeltir. İşlem sonunda DataFrame aşağıdaki gibi görünecektir:

İsim Yaş
Ahmet 25
Ayşe 30
Mehmet 27

Böylece, astype() fonksiyonu, veri setlerindeki hatalı biçimlendirilmiş verileri düzeltmek için kullanışlı bir araçtır.


Veri Setlerinin İncelenmesi

Temizlenmiş veri setlerinin doğru ve güvenilir olduğundan emin olmak için incelemek oldukça önemlidir. Bu adım, veri setlerinin analiz edilmesi ve sonuçların yorumlanması için faydalı bir fırsattır.

Verileri görselleştirme, incelemenin bir parçası olarak yapılabilir. Bu şekilde, verileri daha iyi anlamak ve analiz etmek daha kolay hale gelir. Pandas'ın plot() fonksiyonu, verileri görselleştirmek için kullanılır. Bu fonksiyon, bar grafikleri, çizgi grafikleri ve histogramlar gibi birçok grafik türüne sahiptir.

Verilerin analizi yine incelemenin bir başka aşamasıdır. Temizlenmiş veri setleri üzerinde veri analizi yapmak için, NumPy ve Pandas'ın birçok fonksiyon ve yöntemini kullanabilirsiniz. Bu fonksiyonlar arasında, örneğin, mean (), max (), min () ve std () gibi istatistiksel fonksiyonlar bulunur. Bu fonksiyonlar, veri setlerindeki değişkenlerin ortalaması, maksimum değeri, minimum değeri ve standart sapmasını hesaplamak için kullanılır.

Sonuç olarak, veri setlerinin doğruluğundan ve güvenilirliğinden emin olmak için incelemenin gerçekleştirilmesi gerekmektedir. Bu adım, verilerdeki olası hataları tespit etmek ve onları düzeltmek için de fırsat sunmaktadır. Pandas'ın plot() fonksiyonu ve NumPy ve Pandas'ın istatistik fonksiyonları, veri setlerinin analiz edilmesi ve doğrulanması için kullanılabilir.


Verileri Görselleştirme

Veri setlerindeki verileri analiz etmek ve sonuçları daha iyi anlamak için verileri görselleştirmek çok önemlidir. Pandas kütüphanesi, verileri çizme ve görselleştirme işlemini kolaylaştıran bir plot() fonksiyonuna sahiptir.

plot() fonksiyonu, veri setindeki verileri farklı grafik türleriyle görselleştirmek için kullanılabilir. Bu türler arasında çizgi grafikler, karmaşık grafikler, bar grafikler ve scatter plotlar yer alır. Verilerinizi daha iyi anlamak ve yorumlamak için en uygun grafik türünü seçebilirsiniz.

plot() fonksiyonu aynı zamanda, veri setlerindeki verilerin dağılımını ve incelenmesi gereken herhangi bir atıp yakalama verisinin varlığını belirlemek için histogramlar da üretebilir. Bu, verilerin genel özelliklerini daha iyi anlamak ve verilerin yüksek olduğu noktaları belirlemek için önemlidir.

Aylar Satışlar
Ocak 500
Şubat 750
Mart 900
Nisan 1100
Mayıs 1300
Haziran 1400

Bu verilerin çizgi grafiği, her ayın satış verilerini gösterir. Bu grafik, her ayın satış verilerinin arttığını veya azaldığını gösterir, bu nedenle satışların yıllık olarak arttığını veya azaldığını belirlemek için yararlıdır.

Verileri görselleştirerek, veri setlerinizdeki verileri daha iyi anlayabilirsiniz. Daha iyi bir anlayış, daha iyi bir veri analizi anlamına gelir ve sonuçta daha doğru kararlar almanıza ve daha verimli sonuçlar üretmenize yardımcı olur.


Verileri Analiz Etme

Temizlenmiş veri setleri üzerinde veri analizi yapmak, eldeki verilerin doğru ve güvenilir olup olmadığını tespit etmek adına oldukça önemlidir. Bu aşamada, NumPy ve Pandas kütüphanelerinde bulunan birçok fonksiyon ve yöntem kullanılabilir.

NumPy kütüphanesinin bazı fonksiyonları arasında matris işlemleri, matematiksel hesaplamalar, rastgele sayı üretimi ve matris oluşturma gibi işlemler yer alır. Bunlar veriler üzerinde işlem yapmak, verilerin dağılımlarını analiz etmek ve özet istatistiksel bilgiler elde etmek için kullanılabilir.

Pandas kütüphanesi ise veri işleme ve analiz işlemleri için oldukça faydalı bir kütüphanedir. Bu kütüphane içinde yer alan bazı fonksiyonlar arasında gruplama, filtreleme, sıralama, birleştirme, pivotlama ve zaman serileri gibi işlemler yer alır. Bu işlemler sayesinde veriler daha verimli analiz edilebilir.

NumPy ve Pandas kütüphanelerinin birlikte kullanımı, temizlenmiş veri setleri üzerinde daha etkili bir veri analizi yapmanızı sağlar. Özellikle büyük veri setleri üzerinde yapılan işlemlerde, bu kütüphaneler veri analizi işlemlerini çok daha hızlı ve verimli yapmanıza olanak tanır.

Bu nedenle, NumPy ve Pandas kütüphanelerindeki fonksiyonları öğrenmek ve veri setleri üzerinde etkili bir analiz yapmak oldukça önemlidir. Bu sayede elde ettiğiniz sonuçlar daha doğru ve güvenilir olur.