Veri Dönüştürme ve Filtrasyonu Python ile Nasıl Yapılır?

Veri Dönüştürme ve Filtrasyonu Python ile Nasıl Yapılır?

Veri dönüştürme ve filtreleme işlemleri, Python dilinde oldukça kolay bir şekilde yapılabilir Bu yazılımın sağladığı fonksiyonlar sayesinde, verilerinizi istediğiniz formatta dönüştürebilir ve istediğiniz şekilde filtreleyebilirsiniz Detaylı bilgi için yazımızı inceleyin

Veri Dönüştürme ve Filtrasyonu Python ile Nasıl Yapılır?

Bu makalede veri dönüştürme ve filtreleme konuları, Python programlama dili üzerinden ele alınacaktır. Veri hatalarının çözümlenmesi, filtrelenmesi, analiz edilmesi ve görselleştirilmesi işlemleri, bilgisayar programcılığında büyük önem taşımaktadır. Python programlama dili, bu konularda oldukça esnek ve güçlü bir araçtır ve çeşitli kütüphaneleri sayesinde kullanıcılarına birçok kolaylık sağlamaktadır.

Bu makalede öncelikle farklı veri türlerinin Python'da nasıl dönüştürülebileceği ele alınacaktır.

  • String veri tipi dönüşümleri
  • Tamsayı veri tipi dönüşümleri
  • Ondalıklı sayı veri tipi dönüşümleri
  • Boolean veri tipi dönüşümleri
Ayrıca, dizi veya liste veri yapılarının da veri dönüştürme işlemlerine örnekler verilecek. Ardından, filtreleme ve işleme işlemleri, Python kütüphanelerinin kullanımıyla açıklanacaktır. NumPy ve Pandas kütüphaneleri, veri filtreleme ve dönüştürme işlemlerine yönelik en yaygın kullanılan kütüphanelerdir ve bu makalede detaylıca incelenecektir. Son olarak, anlatılan teknikler bir müşteri satış verisi örneği üzerinde uygulama ile pekiştirilecektir.


Veri Türleri ve Dönüştürme Yöntemleri

Python, birçok veri türünü destekler ve bu veri türleri farklı amaçlar için kullanılır. Bu veri türlerinin her biri, özelliklerine göre Python'da farklı dönüştürme yöntemleriyle işlenebilir.

Python'da veri dönüştürme ve filtreleme işlemlerinde en sık kullanılan veri türleri şunlardır:

Veri Türü Açıklaması
Integer (int) Tam sayı
Float (float) Ondalık sayı
String (str) Karakter dizisi
Boolean (bool) Doğru veya yanlış değeri
List (list) Birden fazla verinin sıralı listesi
Tuple (tuple) Birden fazla verinin sıralı listesi (değiştirilemez)
Dictionary (dict) Veri anahtar-değer ikilisi şeklinde saklanır

Bu veri türleri arasında dönüştürme işlemleri yaparken, kullanıcının ihtiyaçlarına göre uygun yöntemler kullanılır. Örneğin, bir string'ini integer'a dönüştürmek için int() fonksiyonu kullanılırken, bir listedeki elemanları string'e dönüştürmek için str() fonksiyonu kullanılabilir.


Veri Filtreleme ve İşleme

Pandas, veri analizi ve manipülasyonunda sık kullanılan bir kütüphanedir. Birçok veri tipi ile uyumlu olması ve yüksek performans sağlaması sebebiyle tercih edilir. Pandas kütüphanesi, verilerin filtrelenmesi, sıralanması, toplanması, gruplanması ve birleştirilmesi gibi işlemlere olanak sağlar. Bu makalemizde, Pandas kütüphanesi kullanarak veri filtreleme ve işleme konusunda örnekler vereceğiz.

Bir veri setinde belirli bir koşula göre verileri seçmek için Pandas'ta Boolean filtrelemesi kullanılır. Bu yöntemle bir veri setindeki veriler, belirli koşullara göre seçilebilir. Örneğin, bir şirketin çalışanlarına ilişkin bir veri setinde, sadece belli bir departmanın çalışanlarını görmek için Boolean filtrelemesi kullanılabilir.

Departman Çalışan İsmi
Muhasebe Ahmet
Pazarlama Mustafa
İnsan Kaynakları Ayşe
Pazarlama Emre
İnsan Kaynakları Duygu
Muhasebe Zeynep

Yukarıdaki örnekte, Muhasebe departmanında çalışanlar için veri filtrelemesi yapmak için şu kod kullanılabilir:

import pandas as pddata = pd.read_csv('veritabani.csv')filtre = data['Departman'] == 'Muhasebe'muhasebe_calisanlari = data[filtre]print(muhasebe_calisanlari)

Bu kod, veri setindeki "Departman" sütununda "Muhasebe" olan tüm satırları getirecektir. Aynı şekilde, "Pazarlama" departmanındaki çalışanları seçmek için "data['Departman'] == 'Pazarlama'" filtresi kullanılabilir.

Veri filtreleme ve işleme yöntemleri hakkında daha fazla bilgi edinmek için Pandas resmi dökümantasyonuna başvurabilirsiniz.


NumPy Kütüphanesi Kullanımı

NumPy kütüphanesi, Python dilinde veri analizi ve bilimsel hesaplama işlemleri için kullanılan bir araçtır. Bu kütüphane, diziler üzerinde hızlı ve etkili bir şekilde işlem yapmamızı sağlar. NumPy kütüphanesi ile birlikte veri filtreleme işlemleri de oldukça kolay hale gelir.

NumPy kütüphanesi içerisinde yer alan np.where() metodu, belirli şartlar sağlanırsa dizideki elemanların yerine belirli bir değer atanmasına imkan sağlar. Ayrıca np.select() metodu, koşula uygun olan değerleri seçmek için kullanılır.

Bunun yanı sıra np.isnan() metodu, NaN (Not a Number) değerlerinin belirlenmesi için kullanılır. np.isinf() metodu ise infinity değerlerini belirlemek için kullanılır.

NumPy kütüphanesi ile birlikte np.logical_and(), np.logical_or() ve np.logical_not() metotları da yer alır. Bu metotlar, diziler üzerinde mantıksal işlemler yapmamıza imkan sağlar.

Tüm bu yöntemler sayesinde NumPy kütüphanesi, veri filtreleme işlemleri için oldukça kullanışlı bir araçtır. Ancak bu yöntemleri kullanırken, Python dilindeki veri türleri hakkında da bilgi sahibi olmak gerekir.


Basit Örneklerle Filtreleme

NumPy kütüphanesi, tek veya çok boyutlu diziler üzerinde filtreleme işlemi yapmak için kullanılabilir. Tek boyutlu bir dizi üzerinde basit filtreleme işlemleri birkaç adımda gerçekleştirilebilir. Öncelikle, NumPy kütüphanesi yüklenmeli ve ardından işlem yapılacak dizi tanımlanmalıdır.

import numpy as npdizi = np.array([2, 5, 8, 11, 15])

Dizi üzerinde filtreleme işlemi yapmak için öncelikle bir koşul oluşturulmalıdır. Bu koşula göre dizi elemanları filtrelenir ve yeni bir dizi oluşturulur. Örneğin, sadece çift sayıları içeren bir dizi oluşturmak için aşağıdaki kod bloğu kullanılabilir:

ciftler = dizi[dizi % 2 == 0]

Bu kod bloğu, dizi içerisindeki her bir elemanın 2'ye bölümünden kalanının 0 olduğu durumlarda filtreleme işlemi yapar ve çift sayılardan oluşan yeni bir dizi oluşturur. Dizi üzerindeki filtreleme işlemi bu kadar basit adımlarla gerçekleştirilebilir.

Bir önceki örnekte olduğu gibi, bir dizi içerisinde sadece belirli bir değerden büyük olanları seçmek için de benzer bir kod bloğu kullanılabilir:

buyukler = dizi[dizi > 8]

Bu kod bloğu, dizi içerisindeki her bir elemanın 8'den büyük olduğu durumlarda filtreleme işlemi yapar ve 8'den büyük elemanlardan oluşan yeni bir dizi oluşturur. NumPy kütüphanesi, bu gibi basit filtreleme işlemleri için oldukça kullanışlıdır.


Çaprazlama İşlemi ile Filtreleme

Çaprazlama işlemi, bir diziyi diğer bir dizi ile birlikte işleme imkanı sağlar. Bu işlem, iki dilim veya daha fazla sayıda dilim arasında uygulanabilir.

  • Örnek 1:
Diziler arasındaki ilişkiye ve filtreleme işlemlerine dayanan bir örnek sunulabilir. Dizilerin birleştirilmesiyle, iki farklı veri setinden gelen verilerin birleştirilmesi mümkündür.
  • Örnek 2:
Bir başka örnek ise, bir dizideki tüm öğelerin, diğer dizinin aynı pozisyonundaki öğelerine göre filtrelenmesidir. Bu örnek, farklı alternatif veri kaynaklarının birleştirilmesi ve temizlenmesi için yaygın bir kullanım alanına sahiptir.

Dizi 1Dizi 2Filtrelenmiş Dizi
133
24-
355
46-

Yukarıdaki tabloda, dizi 1 ve dizi 2'de yer alan öğelerin farklı kombinasyonlarına dayalı olarak filtrelenecek bir dizi oluşturulmuştur. Filtrelenmiş dizi, Dizi 1'de belirtilen pozisyonlardaki değerler ile eşleşen Dizi 2'deki değerleri içerir. Boş hücreler, eşleşmeme durumunda oluşur.


Pandas Kütüphanesi Kullanımı

Pandas kütüphanesi, veri analizi ve manipülasyonu konusunda oldukça güçlü bir araçtır. Bu kütüphane, verileri okuyabilir, işleyebilir, filtreleyebilir, birleştirebilir ve gruplayabilir. Ayrıca, serileri ve veri çerçevelerini kullanarak verileri görselleştirme imkanı da sağlar.

Bir veri çerçevesi oluşturduktan sonra, filtreleme işlemleri kolayca yapılabilir. Örneğin, belirli bir sütunda belirli bir değeri aramayı veya belirli bir şartı sağlayan tüm satırları elde etmeyi mümkün kılar. Filtreleme işlemleri yapıldıktan sonra, veriler gruplandırılabilir ve işleme tabi tutulabilir. Bu sayede, büyük veri kümeleri üzerinde bile hızlı ve etkili bir şekilde işlem yapmak mümkün olur.

Ad Yaş Meslek Maaş
Ali 35 Doktor 10.000TL
Ayşe 28 Avukat 8.000TL
Mehmet 42 Mühendis 12.000TL

Yukarıdaki tablo, bir şirkette çalışanların ad, yaş, meslek ve maaş bilgilerini içerir. Eğer sadece avukatların maaşlarını öğrenmek isterseniz, aşağıdaki kod parçasını kullanabilirsiniz:

import pandas as pd# Veri seti oluşturmaveri_seti = pd.DataFrame({'Ad': ['Ali', 'Ayşe', 'Mehmet'],                       'Yaş': [35, 28, 42],                       'Meslek': ['Doktor', 'Avukat', 'Mühendis'],                       'Maaş': [10000, 8000, 12000]})# Filtreleme işlemifiltre = veri_seti['Meslek'] == 'Avukat'avukatlar = veri_seti[filtre]['Maaş']# Sonuçları yazdırmaprint(avukatlar)

Bu kod parçası, "filtre" değişkenine "Meslek" sütununda "Avukat" değeri içeren satırları tutar. "filtre" değişkeni ise, "veri_seti" içindeki ilgili sütuna uygulanan bir koşul ifadesidir. Daha sonra, "veri_seti" üzerinde "filtre" değişkenine göre bir filtreleme işlemi yapılır. Bu işlem sonucunda, sadece avukatların maaşları elde edilir. Sonuçları yazdırmak için "print" fonksiyonu kullanılır.

Bu örnek, Pandas kütüphanesinin ne kadar güçlü olduğunu gösterir. Verilerin işlenmesi ve filtrelenmesi, bu kütüphane sayesinde kolaylaşır ve hızlı hale gelir.


Uygulama: Veri Dönüştürme ve Filtrasyonu Örneği

Veri dönüştürme ve filtreleme tekniklerinin nasıl kullanılacağına dair bir uygulama, müşteri satış verileri üzerinde gerçekleştirilecektir. Bu uygulama, öncelikle verilerin nasıl okunacağını ve yükleneceğini göstermektedir. Ardından, veriler dönüştürülerek ve filtrelenerek analiz edilebilecek hale getirilir.

Birinci adım olarak, müşteri satış verileri okunur ve DataFrame olarak dönüştürülür. Daha sonra, veriler, tarih sütununu içerecek şekilde yeniden düzenlenir. Satış verileri, belirli bir tarihi aşanların yanı sıra belirli bir fiyatın altındakiler gibi belirli kriterlere göre filtrelenir. Filtrelenmiş veriler daha sonra gruplanır, satışların toplamı hesaplanır ve bunların bir grafik üzerinde gösterilir.

Adı Miktarı Tarih Fiyat Kategori
Ürün 1 10 2021-01-01 500 Kategori 1
Ürün 2 7 2021-01-07 350 Kategori 2
Ürün 3 24 2021-01-04 150 Kategori 1

Yukarıdaki tablo, müşteri satış verilerinin bir örneğini göstermektedir. Veri dönüştürme, tarih verisi için bir görünüm (MM / YYYY) eklemeyi içerebilir. Bu işlem, verilerin daha kolay işlenebilmesi için gereklidir. Veri filtreleme, fiyatı 500 TL'nin altında olan veya tarihi 2020'nin sonunda olan satışları kapsayacak şekilde gerçekleştirildiğinde, tablo aşağıdaki gibi olacaktır:

Adı Miktarı Tarih Fiyat Kategori
Ürün 2 7 2021-01-07 350 Kategori 2

Filtrelenmiş satış verileri daha sonra belirli bir kategoriye veya her kategori için toplam satışları hesaplamak için gruplanabilir. Bu noktada, veriler, pandas.DataFrame işlevleri ve NumPy kütüphanesinde yer alan işlevler gibi çeşitli araçlar kullanılarak işlenebilir. Uygulama, veri dönüştürme ve filtreleme işlemlerinin pratikte nasıl yapıldığını göstererek Python'da veri işleme konusunda güçlü bir temel oluşturabilir.


Verilerin Okunması ve Yüklenmesi

Müşteri verilerinin okunması ve yüklenmesi için farklı yöntemler kullanılabilir. Öncelikle, veri dosyasının doğru format ve dil uyumuna sahip olduğundan emin olmak gerekir. Daha sonra, Python'da yer alan open() fonksiyonu kullanılarak veri dosyası açılabilir.

Ayrıca, veri dosyalarının farklı formatlarda kaydedilmesi mümkündür. Örneğin, CSV, Excel veya JSON formatları kullanılabilir. Bu dosyaları okumak için farklı Pandas fonksiyonları kullanılabilir. CSV dosyaları, pandas.read_csv() fonksiyonu ile kolayca okunabilir. Excel dosyaları için ise pandas.read_excel() metodu kullanılabilir.

Format Fonksiyon
CSV pandas.read_csv()
Excel pandas.read_excel()
JSON pandas.read_json()

Veri dosyasından verilerin okunması işleminden sonra, veriler bellekteki bir nesneye yüklenir. Bu nesne Pandas DataFrame tipinde olabilir ve sonraki adımda işlem için hazır hale getirilir.

Örneğin, aşağıdaki kod bloğu verilerin okunması ve bir DataFrame nesnesine yüklenmesi işlemini göstermektedir:

import pandas as pd# CSV dosyasından verilerin okunmasıdata = pd.read_csv('musteri_verileri.csv')# DataFrame nesnesine yüklenmesidf = pd.DataFrame(data)

Verilerin Dönüştürülmesi ve Filtrelenmesi

Bir müşteri satış verisi üzerinde örnek olarak veri dönüştürme ve filtreleme işlemlerine bakalım. İlk olarak, verilerimizi bir Pandas veri çerçevesine yükleyelim. Bu işlemi yaptıktan sonra, verilerin şeklini ve boyutunu kontrol etmek için head() ve shape() fonksiyonlarını kullanabiliriz.

Sonra, verilerin doğru veri türünde olduğundan emin olmak için birkaç kontrol yapabiliriz. Örneğin, tarih sütunları datetime veri türünde değilse, to_datetime() fonksiyonunu kullanarak dönüştürebiliriz. Yalnızca sayısal verileri çıkarmak istediğimizde, verilerin sayısal olduğundan emin olmalıyız. Bunun için, veri çerçevemizi describe() fonksiyonu ile kontrol edebiliriz.

Verilerimiz doğru türdeyse, birçok veri dönüştürme işlemi yapabiliriz. Örneğin, bir sütundaki verileri başka bir veri sütununa aktarabilir veya verilerimizi kategorilere göre gruplayabiliriz. Ayrıca, verileri bölerek veya birleştirerek de yeni bir veri sütunu oluşturabiliriz.

Verilerimizi dönüştürdükten sonra, filtreleme işlemine geçebiliriz. Pandas, sütunlara veya satırlara filtreleme işlemi uygulama ve belirli koşullara göre filtreleme işlemi yapmak için birçok özellik sağlar. Örneğin, satırları belirli bir tarihten önce veya belirli bir değer aralığına sahip olan sütunlarla filtreleme yapabiliriz. Ayrıca, koşullu ifadeler kullanarak filtreleme işlemini de uygulayabiliriz.

Veri dönüştürme ve filtreleme, herhangi bir veri analizi veya veri bilimi projesinde hayati öneme sahiptir. Bu, verilerimizin doğru şekilde analiz edilmesini ve doğru kararların alınmasını sağlar. Python özelliklerini kullanarak, bu işlemleri kolayca uygulayabilir ve doğru sonuçlar elde edebiliriz.