Python'da Veri Temizleme ve Veri Dönüştürme İşlemleri: Neler Yapılabilir?

Python'da Veri Temizleme ve Veri Dönüştürme İşlemleri: Neler Yapılabilir?

Python ile veri temizleme ve veri dönüştürme işlemleri için önemli teknikler inceleniyor Yapılabilecekler: veri kaybını azaltma, veri türleri dönüştürme ve daha fazlası

Python'da Veri Temizleme ve Veri Dönüştürme İşlemleri: Neler Yapılabilir?

Python programlama dilinin öne çıkan özelliklerinden biri veri işleme yetenekleriyle oldukça güçlüdür. Bu güçlü özellikler sayesinde veriler, gereksiz özelliklerden arındırılıp doğru formatta işlenebilir hale getirilebilir. Veri temizleme ve veri dönüştürme işlemleri, verilerin analizi ve modele alınması öncesinde yapılması gereken en önemli işlemler arasında yer almaktadır. Bu nedenle Python'da bu işlemleri gerçekleştirebilmek, veri analizi sürecinde oldukça önemli bir rol oynar.

Veri temizleme işlemleri, verilerin arındırılması anlamına gelir ve girdi verilerinde oluşabilecek sorunları gidermek için bir dizi işlem yapılabilir. Bu işlemler arasında, boş veya NaN verilerin tespit edilmesi ve bunların doldurulması, yanlış veri biçimlerinin düzeltilmesi, tekrarlanan verilerin silinmesi gibi örnekler bulunur.

Veri dönüştürme işlemleri ise, farklı veri tiplerini birbirlerine dönüştürerek uyumlu hale getirme işlemidir. Örneğin, string verilerin integer veya float verilere dönüştürülmesi ya da tarih ve saat verilerinin farklı formatlara dönüştürülmesi gibi işlemler gerçekleştirilebilir.

Python, veri işleme konusunda oldukça güçlü kütüphaneleri bünyesinde barındırır. Örneğin, Pandas kütüphanesi sayesinde veriler kolaylıkla yüklenip işlenebilir. Bu kütüphane ile veriler belirli bir formata dönüştürülüp, temizlenerek doğru analiz ve tahminlerde kullanılabilir hale getirilebilir.

Veri temizleme ve veri dönüştürme işlemlerinin etkin bir şekilde uygulanması, veri analizi sürecinde oldukça önemlidir. Bu işlemlerin doğru bir şekilde uygulanması sayesinde, verilerin doğru analiz edilebilmesi, tahminlerin daha doğru yapılması mümkün hale gelir. Bu nedenle, Python diline hakim olmak veri bilimcileri için oldukça önemlidir.


Temizleme İşlemleri

Girdi verilerinde bazı problemler meydana gelebilmektedir. Bunların başında veri eksiklikleri ve hatalı yazılmış veriler yer almaktadır. Verilerin analizi yapılırken bu sorunlar özellikle büyük bir önem taşımaktadır. Veri seti içerisindeki problemleri çözmek için bazı temizleme işlemleri yapmak gerekmektedir.

Veri temizleme işlemleri, veri setindeki eksik, yanlış, gereksiz veya hatalı verileri temizleme sürecidir. Bu işlemler yapılırken orijinal veri seti değiştirilmeden, temizlenmiş bir veri seti oluşturulur.

Veri temizleme işlemlerinde kullanılabilecek bazı yöntemler aşağıdaki gibidir:

  • Veri setindeki eksik verileri tamamlama
  • Veri setindeki gereksiz sütunları çıkarma
  • Veri setindeki hatalı verileri düzeltme veya çıkarırma
  • Veri setindeki aykırı değerleri tespit etme ve çıkarırma
  • Veri setindeki verilerin tutarlılığını kontrol etme

Veri setinin analizi sırasında yaşanabilecek bazı sorunlar ve bu sorunların nasıl çözülebileceği konusunda birkaç örnek verebiliriz:

Sorun Çözüm
Girdi verilerindeki alanların büyük-küçük harf uyumsuzluğu Tüm veriler büyük veya küçük harfe dönüştürülerek uyum sağlanabilir
Veri setindeki bir sütunun tüm değerlerinin aynı olması Bu sütun gereksiz kabul edilerek çıkarılabilir
Veri setindeki boş veya eksik veriler Eksik veriler, ortalama veya medyan verilerle doldurulabilir

Veri temizleme işlemlerinin gerçekleştirilmesi, analiz işlemlerinin doğru ve eksiksiz bir şekilde yapılabilmesi için önemlidir. Bu işlemler veriden en yüksek verim alınabilmesi için mutlaka yapılmalıdır.


Veri Dönüştürme İşlemleri

Python programlama dili ile veri dönüştürme işlemleri, farklı veri tiplerinin belirli bir formata uygun hale getirilmesini sağlar. Bu işlem sayesinde verilerin analizi ve işlenmesi daha kolay hale gelir. İşte, farklı veri tiplerinin nasıl dönüştürülebileceği ve kod örnekleri:

Stringlerin Dönüştürülmesi

String verileri, integer, float ve datetime verilerine dönüştürmek için bazı işlemler yapılabilir. Örneğin:

İşlem Kod Örneği
String veriyi integer'a dönüştürmek x = "35"
y = int(x)
print(y) # 35
String veriyi float'a dönüştürmek x = "35.5"
y = float(x)
print(y) # 35.5
String veriyi datetime'a dönüştürmek from datetime import datetime
x = "21/01/2022"
y = datetime.strptime(x, "%d/%m/%Y")
print(y) # 2022-01-21 00:00:00

Tarih ve Saat Formatlarının Dönüştürülmesi

Python programlama dili ile tarih ve saat verileri de farklı formatlara dönüştürülebilir. Örneğin:

İşlem Kod Örneği
Tarih ve saat verisini timestamp formatına dönüştürmek import time
x = "21/01/2022 20:30:00"
y = time.mktime(datetime.strptime(x, "%d/%m/%Y %H:%M:%S").timetuple())
print(y) # 1642800600.0
Tarih ve saat verisini UTC formatına dönüştürmek from datetime import datetime, timezone
x = datetime(2022, 1, 21)
y = x.replace(tzinfo=timezone.utc)
print(y) # 2022-01-21 00:00:00+00:00

Düz Metin Dosyalarının Veri Çerçevelerine Dönüştürülmesi

Düz metin dosyasındaki veriler, Pandas DataFrame'lere dönüştürülebilir. Bunun için öncelikle verilerin doğru formatta olduğundan emin olunmalıdır. Daha sonra aşağıdaki kod örneği gibi bir işlem yapılabilir:

import pandas as pdwith open("veriler.txt", "r") as f:  lines = [line.strip().split("\t") for line in f]df = pd.DataFrame(lines, columns=["sütun1", "sütun2"])

Bu işlem sayesinde düz metin dosyasındaki veriler, Pandas DataFrame'lerine dönüştürülebilir.


Stringlerin Dönüştürülmesi

Python programlama dili ile veri temizleme ve veri dönüştürme işlemleri oldukça kolay bir şekilde yapılabilir. Özellikle string verilerin dönüştürülmesi için Python'da birçok fonksiyon bulunmaktadır. String veriler, integer veya float veri tiplerine dönüştürülmek istendiği zaman, öncelikle string verinin sayısal bir değer içerip içermediği kontrol edilmelidir. Bunun için, Python'da isnumeric() veya isdigit() fonksiyonları kullanılabilir.

Örneğin, bir değişkenin string veya integer olduğunu önce kontrol etmek için isinstance() fonksiyonu kullanılabilir. Daha sonra, değişken isnumeric() fonksiyonu ile kontrol edilerek integer veri tipine dönüştürülebilir. Aynı işlem, float veri tipi için de uygulanabilir.

String Değer Integer Değer Float Değer
A 0 0.0
123 123 123.0
3.14 0 3.14
-45 -45 -45.0

String verilerin datetime veri tipine dönüştürülmesi için de strptime() fonksiyonu kullanılabilir. Bu fonksiyon, belli bir formatı takip eden string verileri datetime veri tipine dönüştürür.

Örneğin, "2021-08-02" string verisi "%Y-%m-%d" formatını takip ettiği için, datetime veri tipine dönüştürülebilir. Aşağıdaki örnekte, "2021-08-02" string verisi datetime veri tipine dönüştürülmektedir.

from datetime import datetimedate_str = "2021-08-02"date_obj = datetime.strptime(date_str, "%Y-%m-%d")print(date_obj)

Görüldüğü gibi, Python'da string verilerin kolayca integer, float veya datetime veri tiplerine dönüştürülmesi mümkündür. Bunun yanı sıra, veri temizleme ve dönüştürme işlemleri için Python'da birçok fonksiyon bulunmaktadır.


Tarih ve Saat Formatlarının Dönüştürülmesi

Tarih ve saat verileri, farklı formatlarda depolanabilir. Python'da, bu verilerin bir formattan başka bir formata dönüştürülebilmesi için datetime kütüphanesi kullanılabilir. Bu kütüphane, tarih ve saat verilerinin ayrı ayrı ayarlanmasına olanak tanıyan strptime() fonksiyonu ile birlikte kullanılabilir.

Yapılabilecek İşlemler Örnekler
Saat ve tarih bilgilerinin ayrı ayrı alınması
  • dt = datetime.strptime("2021-07-20 23:59:59", "%Y-%m-%d %H:%M:%S")
  • print(dt.year)
  • print(dt.month)
  • print(dt.day)
  • print(dt.hour)
  • print(dt.minute)
  • print(dt.second)
Tarih ve saat bilgilerinin farklı formatta yazdırılması
  • dt = datetime.strptime("2021-07-20 23:59:59", "%Y-%m-%d %H:%M:%S")
  • print(datetime.strftime(dt, '%Y/%m/%d %H:%M:%S'))
  • print(datetime.strftime(dt, '%B %d, %Y %I:%M %p'))

Bu örneklerde strptime() fonksiyonu, bir karakter dizisi ve format belirtildiği zaman, bu diziyi datetime objesine dönüştürebilir. strftime() fonksiyonu, ise datetime objesindeki tarih ve saat bilgilerini belirli bir formatta karakter dizisine dönüştürebilir.

Özetle, Python'da tarih ve saat verileri, datetime kütüphanesi kullanılarak bir formattan başka bir formata dönüştürülebilir. Bu dönüşümler sayesinde, verilerin veritabanlarına veya diğer uygulamalara daha kolay bir şekilde entegre edilmesi mümkündür.


Düz Metin Dosyalarının Veri Çerçevelerine Dönüştürülmesi

Düz metin dosyaları, sıklıkla kullanılan bir veri kaynağıdır. Verinin yapısal olmadığı durumlarda, bu dosyalar genellikle birçok veri ile ilgilenecek bir işlemi kolaylaştırır. Bununla birlikte, birçok durumda, bu düz dosyalardaki veriler veri çerçevelerinde daha iyi kontrol edilebilir şekilde gösterilebilir.

Pandas kütüphanesi, python programlama dilinde bulunan birçok veri yapılarını destekler. Bu veri yapılarından biri, veri analizi ve işlemleri için kullanılan DataFrame'dir. Pandas DataFrame, verileri tablo benzeri bir yapıda depolamanızı ve kullanmanızı sağlayan bir veri tipidir. Bu nedenle, bir dosyadaki düz verileri DataFrame'e dönüştürmek, bu verilerin manipülasyonunu daha kolay hale getirir.

Bir düz metin dosyasındaki veriler, read_csv fonksiyonu ile Pandas DataFrame'e dönüştürülebilir. Bu fonksiyon, csv uzantılı dosyaların yanı sıra, diğer düz metin dosya formatlarını da destekleyebilir. Aşağıdaki kod örneği, read_csv fonksiyonu kullanarak bir düz metin dosyasının DataFrame'e dönüştürülmesini gösterir:

import pandas as pd
df = pd.read_csv('veriler.txt')

Bu kod, "veriler.txt" adlı düz metin dosyasını Pandas DataFrame olan "df" değişkenine yükler. Dosya adının yanında, dosya yolu da belirtilebilir. Ayrıca, verilerin farklı bir ayırıcı ile ayrılmış olması durumunda, "delimiter" parametresi kullanılarak ayırıcı belirtilebilir. Örneğin, veriler "tab" karakteri ile ayrılmışsa, aşağıdaki gibi bir kod kullanılabilir:

df = pd.read_csv('veriler.txt', delimiter='\t')

Belirli sütunları atlamak veya sütun isimlerini özelleştirmek de mümkündür. Bunun için, "usecols" ve "names" parametreleri kullanılabilir. Ayrıca, yüklenen verilerde eksik veriler bulunursa, "na_values" parametresi kullanılarak bu veriler belirtilebilir.

Yukarıdaki örnekler, bir düz metin dosyasını Pandas DataFrame'e dönüştürmek için kullanılabilecek temel yöntemleri gösterir. Bununla birlikte, bu örneklerin kullanımına bağlı olarak, verilerin görselleştirilmesi, veri manipülasyonu veya önceden gösterilemeyen analiz gibi daha ileri seviye işlemler yapmak mümkündür.


Veri Birleştirme ve Ayıklama İşlemleri

Veri analizi sırasında, farklı kaynaklardan gelen verilerin birleştirilmesi gerekebilir. Bu, farklı dosyalar ve veri tabanlarındaki verilerin birleştirilmesi anlamına gelir. Python dilinde, bu işlem oldukça kolaydır ve birkaç satır kod ile gerçekleştirilebilir.

Birleştirme işlemi için öncelikle, her iki veri kümesini birleştirmek için kullanılabilecek ortak bir sütunun bulunması gerekir. Ardından, pandas kütüphanesindeki merge () fonksiyonu kullanılarak veri kümesi birleştirilebilir. Bu fonksiyon, sütuna göre birleştirme yapar ve ortak sütun adını belirtmek için "on" parametresini kullanır.

Örnek olarak, birleştirilecek iki veri kümesi olan 'müşteri' ve 'siparişler' veri kümesini ele alalım. Bu veri kümeleri, 'müşteri_id' sütunuyla birleştirilebilir. Aşağıdaki kod bloğu, bu iki veri kümesini bir araya getirmenin bir yolunu göstermektedir.

```import pandas as pd musteri = pd.read_csv('musteriler.csv') siparisler = pd.read_csv('siparisler.csv') sonuç = pd.merge(musteri, siparisler, on='musteri_id') ```

Sütun ayıklama işlemi, veri kümesindeki belirli sütunlarla çalışmayı gerektirir. Bu işlem, veri seti içerisindeki her sütunu göstermek yerine yalnızca ihtiyacımız olan sütunlara erişmemizi sağlar. Pandas kütüphanesi, iloc () fonksiyonu kullanarak sütunları seçmeyi sağlar.

Örnek olarak, 'müşteriler' veri kümesindeki yalnızca 'isim' ve 'adres' sütunlarının seçilmesi gerektiğini varsayalım. Aşağıdaki kod bloğu, bu sütunları ayıklamanın bir yolunu göstermektedir.

```musteriler = pd.read_csv('musteriler.csv') musteriler = musteri.iloc[:, [0, 2]] ```

Sonuç olarak, Python dilinde veri birleştirme ve sütun ayıklama işlemleri oldukça kolaydır ve birkaç satır kodla gerçekleştirilebilir. Bu işlemler, veri analizi sırasında büyük ölçüde kullanılır ve data scientistler için vazgeçilmez bir araçtır.


Uygulama Örnekleri

Python'da veri temizleme ve veri dönüştürme işlemleri gerçek dünya verileri üzerinde oldukça faydalı olabilir. Bu nedenle, çeşitli örnekleri inceleyerek bu konuda daha fazla bilgi edinebilirsiniz.

Bir örneğe bakalım. Faruk adında bir öğrencinin öğrenci notları için bir Excel dosyasına ihtiyacı vardır. Ancak, girdi olarak verilen Excel dosyası belirli hatalar içerir. Python'da veri temizleme işlemleri ile bu hataları gidermek mümkündür.

Öncelikle, Pandas kütüphanesi yardımıyla öğrenci notları Excel dosyasını okumamız gerekiyor. Daha sonra, veri setindeki boş hücrelerin ve garip karakterlerin neden olduğu hataları düzeltmek için yöntemler uygulayabiliriz. Örneğin, boş veya eksik verileri çıkarmak için DataFrame'in dropna() yöntemini kullanabiliriz.

Öğrenci Matematik Fen Bilgisi Tarih
Ahmet 85 75 90
Mehmet 70 80
Okan 60 85

Bazı verilerin çıkarılamayacağı durumlarda, ortalama veya medyan yöntemi gibi diğer yöntemleri kullanabiliriz. Dahası, bazı karakterleri kaldırmak için Python'da özellikle Regular Expression (RegEx) kullanabiliriz.

Bu örnekte veri dönüştürme işlemleri de uygulayabiliriz. Örneğin, belirli bir sütuna dayalı olarak verileri sıralamak için sort_values() yöntemini kullanabiliriz. Ayrıca, belirli bir veri sütunundaki değerleri almak için loc() yöntemini kullanabiliriz.

Yukarıdaki örnek sadece birkaç örnektir. Gerçek dünya verileri temizleme ve dönüştürme işlemleri farklı şekillerde uygulanabilir. Ancak, Python'da veri temizleme ve veri dönüştürme işlemlerini anlamak oldukça önemlidir.