Bu makalede, Python'da kullanılan Pandas kütüphanesi ile veri temizleme işlemleri için örnekler bulunmaktadır Verilerinizi nasıl temizleyebileceğinizi ögrenmek için okumaya devam edin
Bu makalede, veri temizleme işlemlerini gerçekleştirmek için popüler bir Python kütüphanesi olan Pandas kullanımı öğreneceksiniz. Veri temizleme, bir veri setindeki eksik verilerin veya anormal verilerin tespit edilip düzeltilmesi işlemidir. Bu işlem veri analizinde doğru sonuçlar elde etmek için önemlidir.
Pandas, veri temizleme işlemlerinde kullanıcılarına birçok yol sunar. Eksik verileri belirli bir değer ile doldurmak veya en yakın değerle doldurmak, standart sapmaya göre anormal verileri temizlemek veya median kullanarak anormal verileri temizlemek bunlardan sadece birkaç örnek.
Pandas, verilerin yeniden şekillendirilmesine ve dönüştürülmesine de izin verir. String verilerin sayısal verilere dönüştürülmesi veya farklı veri setlerinin birleştirilmesi gibi işlemler yapılabilmektedir.
Pandas kütüphanesi, veri temizleme, dönüştürme ve yeniden şekillendirme işlemlerini kolaylaştırırken veri analizinde doğru sonuçlar elde etmenize yardımcı olur. Makalemizde örnekler kullanılarak bu işlemlerin nasıl yapılacağı ayrıntılı bir şekilde açıklanmıştır.
Giriş
Pandas kütüphanesi, Python programlama dilinde veri manipülasyonu ve analizi için kullanılan, oldukça popüler bir kütüphanedir. Pandas, verilerin hızlı ve kolay bir şekilde okunmasını, düzenlenmesini, temizlenmesini, manipüle edilmesini ve analiz edilmesini mümkün kılar.
Pandas'ın temel veri yapısı "DataFrames" olarak adlandırılır ve sütunlardan oluşan bir veri tablosunun programlamadaki karşılığıdır. Bu sayede, büyük veri setlerinin analizi ve manipülasyonu kolaylaşır. Ayrıca, farklı veri kaynaklarının bir araya getirilmesi ve birleştirilmesi işlemleri için de kullanışlıdır.
Pandas kütüphanesi, veri temizleme, dönüştürme ve yeniden şekillendirme işlemlerinde de kullanılan kapsamlı bir araç seti sunar. Bu sayede, veriler üzerinde yapılan işlemler daha doğru ve güvenilir sonuçlar verebilir.
Veri Temizleme Nedir?
Veri temizleme, bir veri setindeki hataların ve eksiklerin tespit edilmesi ve düzeltilmesi işlemidir. Veri setlerindeki hatalı veya eksik veriler, veri analizinde yanlış sonuçlar elde edilmesine neden olabilir. Bu nedenle, veri temizleme işlemi veri analizi için oldukça önemlidir.
Veri temizleme, eksik değerleri doldurma, anormal verileri temizleme ve veri dönüştürme işlemlerinden oluşur. Eksik verileri doldurmak için veri setindeki eksik değerler tahmin edilebilir ve bu değerler eksik verilerin yerine doldurulabilir. Anormal verilerin tespit edilmesi ve temizlenmesi, veri setinin doğru bir şekilde yansıtılması için önemlidir. Veri dönüştürme işlemi, veri setindeki verilerin farklı formatlarda olması durumunda, hepsini aynı formata dönüştürmek için kullanılır.
- Eksik Değer Doldurma: Veri setleri değişken olabilir ve değişkenlerin eksik veya boş olması mümkündür. Eksik değerler, veri setindeki diğer değişkenlerden hesaplanarak veya tamamlayıcı veri kaynakları kullanılarak doldurulabilir.
- Anormal Verileri Temizleme: Veri setlerinde bazı veriler diğerlerinden farklı değerler taşıyabilir. Bu veriler, anormal veya yanlış veri olarak kabul edilir ve veri setinden temizlenmelidir.
- Veri Dönüştürme: Veri dönüştürme işlemi, veri setindeki değerleri bir formattan diğer bir formata dönüştürmek için kullanılır. Bu işlem, verinin daha tutarlı hale getirilerek veri analizi sürecinde daha doğru sonuçlar elde edilmesine yardımcı olur.
Veri temizleme işlemi, veri analizi sürecinde en önemli adımlardan biridir. Eksik veya yanlış veriler, yanıltıcı sonuçlara neden olabilir ve veri analizinizi etkileyebilir. Pandas kütüphanesi, veri temizleme işlemlerini kolaylaştırarak, veri analizinde daha doğru sonuçlar almanıza yardımcı olur.
Eksik Değerleri Doldurma
Eksik veya boş veriler, veri analizinde yanıltıcı sonuçlara neden olabilir. Bu nedenle eksik verilerinizi doldurmak, doğru sonuçlar elde etmenize yardımcı olabilir. Pandas kütüphanesi, fillna() metodunu kullanarak eksik değerlerinizi doldurmanıza olanak tanır. Bu metod, eksik verileri belirlediğiniz bir değerle doldurur. Örneğin, NaN (Not a Number) olarak belirlenmiş eksik verileri, 0 veya herhangi bir sayısal veriyle doldurabilirsiniz.
Bunun için, fillna() metodunu kullanarak bir DataFrame oluşturmalı ve sonrasında bu DataFrame için bir doldurma işlemi gerçekleştirmelisiniz. Örneğin, aşağıdaki kodda bir veri seti oluşturduk ve bu veri setindeki eksik değerleri 0 ile doldurduk:
Index | Column1 | Column2 | Column3 |
---|---|---|---|
0 | 1 | 2 | 3 |
1 | 4 | NaN | 6 |
2 | 7 | 8 | NaN |
3 | NaN | 11 | 12 |
- import pandas as pd
- import numpy as np
- df = pd.DataFrame({'Column1':[1, 4, 7, np.nan],'Column2':[2, np.nan, 8, 11],'Column3':[3, 6, np.nan, 12]})
- df.fillna(0)
Bu örnekte, fillna() metodu sayesinde, DataFrame'inizdeki eksik veriler belirlenen değerle doldurularak, yanıltıcı sonuçlara yol açan boşluklar ortadan kalkar. Bu sayede, veri analizinde doğru sonuçları elde etmeniz kolaylaşır.
Ortalama Değerle Doldurma
Eksik veriler, veri analizinde yanıltıcı sonuçlara neden olabilir. Bu nedenle, eksik verileri doldurmak önemlidir. Pandas'ın fillna() metodunu kullanarak eksik değerlerinizi ortalama değerle doldurabilirsiniz. Bu işlem, veri setinizin genel trendini korurken, eksik veri sayısını azaltır.
Orijinal Veri | Değiştirilmiş Veri |
---|---|
- | 3 |
2 | 2 |
4 | 4 |
- | 3 |
5 | 5 |
Yukarıdaki örnekte, orijinal veri setinde eksik veriler ("-") varken fillna() metodunu kullandıktan sonra eksik veriler ortalama değerle ("3") doldurulmuştur.
En Yakın Değerle Doldurma
Veri analizi yaparken karşılaştığınız eksik veriler, sonuçların yanıltıcı olmasına neden olabilir. Bu nedenle eksik verilerinizi doldurmanız gerekmektedir. En yakın değerle doldurma, eksik verileri düzeltmenin bir yöntemidir. Bu yöntemde, eksik veri bulunan hücrenin etrafındaki diğer hücrelerin değerleri kullanılarak eksik hücreler doldurulur.
Burada dikkat etmeniz gereken nokta, eksik verilerin hangi hücrelerle doldurulacağıdır. En yakın değerler, verilerinizin yapısına ve düzenine göre farklılık gösterir. Bunun için Pandas'ın interpolate() methodunu kullanarak en doğru sonuçları elde edebilirsiniz. interpolate() methodu, eksik veya anormal verileri belirli bir şekilde doldurmanızı sağlar.
Column1 | Column2 | Column3 |
---|---|---|
23 | 45 | 34 |
NaN | 65 | 12 |
34 | NaN | 16 |
32 | 68 | NaN |
Yukarıdaki veri setinde yer alan NaN (not a number) hücresini en yakın değerle doldurmak istediğimizi varsayalım. En yakın değerler, aynı sütun veya satırdaki diğer hücrelerin değerleri olabilir. interpolate() methodu varsayılan olarak lineer bir interpolasyon yöntemi kullanarak NaN hücreyi en yakın değerle doldurur.
Örneğin, yukarıdaki veri setinde, 2. sıradaki ilk sütundaki NaN değerini en yakın değerle doldurmaya karar verirseniz, interpolate() methodu bu hücreye 28 değerini atayacaktır.
Anormal Verileri Temizleme
Anormal veriler, veri setlerindeki hatalı veya yanıltıcı verilerdir. Örneğin, bir gelir dağılımı veri setindeki 10.000 TL üzeri olmayan ücretlerin yanlışlıkla 100.000 TL olarak kaydedilmesi, veri analizinde yanıltıcı sonuçlar verecektir. Anormal verilerin temizlenmesi, doğru sonuçların elde edilmesi için son derece önemlidir.
Pandas'ın std() ve mean() metodları, anormal verilerin tespitinde kullanılabilir. std() metodu, verilerin standart sapmasını hesaplar ve ne kadar dağıldıklarını ölçer. mean() metodu ise veri setinin ortalamasını hesaplar. Bu iki metot kullanılarak, anormal veriler tespit edilebilir ve silinebilir.
Örneğin, bir gelir dağılımı veri setinde, standart sapmanın iki katından fazla olan gelirlerin anormal kabul edilmesi ve silinmesi mümkündür. Ayrıca, veri setinin ortalaması ile belirli bir sapmadan daha fazla olan gelirler de anormal kabul edilebilir ve temizlenebilir.
Standart Sapma Kullanarak Temizleme
Bazı durumlarda, veri setinizdeki anormal değerler, diğer değerlerden çok farklı olabilir. Bu durumda, standart sapma kullanarak bu anormal verileri tespit edebilir ve temizleyebilirsiniz. Standart sapma, bir veri setinin dağılımını ölçen bir istatistiksel ölçüttür. Veri seti ne kadar homojen (yani, birbirine yakın değerler içeriyorsa), standart sapma o kadar düşük olur. Veri seti ne kadar heterojen (yani, birbirine yakın olmayan çok sayıda değer içeriyorsa), standart sapma o kadar yüksek olur.
Pandas'ın std() ve mean() metodlarını kullanarak standart sapmayı ve ortalama değeri hesaplayabilirsiniz. Daha sonra, standart sapmanın iki katından daha büyük değerlerin anormal kabul edildiğini ve temizlenmesi gerektiğini belirleyebilirsiniz. Bu şekilde, veri setinizdeki anormal verileri temizlemiş olursunuz.
Örnek | Değerler | Ortalama | Standart Sapma |
---|---|---|---|
Veri Seti 1 | 10, 20, 30, 40, 50, 60, 70, 80, 90 | 50 | 28.87 |
Veri Seti 2 | 0, 50, 100, 150, 200, 250, 300, 350, 400 | 200 | 116.62 |
Yukarıdaki tabloda, Veri Seti 1 homojenken, Veri Seti 2 heterojendir. Daha yüksek bir standart sapmaya sahip olduğundan, Veri Seti 2, anormal veriler içeriyor olabilir.
Pandas kullanarak, standart sapma kullanarak veri temizlemenin kolay bir yolu var. Bu yöntemi kullanarak, veri setinizdeki anormal verileri tespit edebilir ve analizinizin doğruluğunu artırabilirsiniz.
Median Kullanarak Temizleme
Bir veri setindeki anormal değerleri temizlemede, ortalama kullanımının yanıltıcı olabileceğini öğrenmiştik. Ortalama, veri setinin dağılımına bağlı olarak yanıltıcı sonuçlar verebilir. Bu nedenle, median kullanarak anormal verileri temizlemek daha doğru sonuçlar verebilir.
Median, bir veri setindeki verilerin ortasındaki değerdir. Veri setindeki veriler küçükten büyüğe sıralandıktan sonra ortada kalan değeri buluruz.
Örneğin, aşağıdaki veri setinde anormal bir değerimiz var:
Veri seti: | 12, 15, 18, 20, 25, 96 |
Burada 96 sayısı, veri setindeki diğer değerlere göre çok fazla ve anormaldir. Ortalama kullanarak bu veriyi temizlemek, veri setinin genel trendini etkileyebilir. Ancak median kullanarak bu anormal değeri kolayca temizleyebiliriz. Veri setini küçükten büyüğe sıraladığımızda:
Veri seti: | 12, 15, 18, 20, 25, 96 |
Sıralanmış veri seti: | 12, 15, 18, 20, 25, 96 |
Gördüğünüz gibi, median değerimiz 20'dir. Anormal değeri median kullanarak kolayca temizleyebiliriz.
Pandas kütüphanesi, median kullanarak veri temizleme işlemlerini kolaylaştırır. Veri setimizdeki anormal verileri bulmak için Pandas'ın median() metodunu kullanabiliriz:
df.median() # df veri setimiz
Bu metod, veri setindeki her sütunun median değerini bulur. Anormal verileri ortadan kaldırmak için, veri setindeki değerleri median ile karşılaştırabiliriz ve median değerinden ne kadar uzakta olan değerleri çıkarabiliriz.
Median kullanarak veri temizleme işlemleri, veri analizinde daha doğru sonuçların elde edilmesini sağlar. Ayrıca, veri setinin genel trendi üzerinde minimum etki bırakır ve orijinal verilerin daha iyi korunmasını sağlar.
Veri Dönüştürme ve Yeniden Şekillendirme
Pandas kütüphanesi, veri dönüştürme ve yeniden şekillendirme işlemleri için birçok fonksiyon sunar. Bu fonksiyonlar verileri çeşitli şekillerde yeniden şekillendirmenize ve dönüştürmenize olanak sağlar.
String verileri sayısal verilere dönüştürme, veri analizini kolaylaştırır. Pandas'ın replace() ve astype() metodları bu işlemi gerçekleştirmek için sıkça kullanılan yöntemler arasındadır. Replace() metodunu kullanarak belirli bir karakterin yerine başka bir karakter yazabilirsiniz. Astype() metodunu kullanarak, bir sütunu dönüştürmek istediğiniz veri tipine dönüştürebilirsiniz.
Birleştirme işlemi, farklı veri setlerindeki verileri tek bir veri setinde birleştirme işlemidir. Pandas'ın merge() fonksiyonu, sütunlar veya satırlar üzerinde birleştirme işlemi gerçekleştirmenizi sağlar. Merge() fonksiyonu, birleştirme işlemi için farklı stratejiler sunar. Inner join, outer join, left join ve right join, en yaygın olarak kullanılan birleştirme stratejileridir.
Pandas kütüphanesi, veri dönüştürme ve birleştirme işlemlerinde oldukça güçlüdür. Bu yöntemleri kullanarak verilerinizin daha kolay anlaşılabilir hale getirebilir, veri setlerinizi analiz etme yeteneğinizi artırabilirsiniz.
String Verileri Dönüştürme
Veri analizinde sıklıkla karşılaşılan bir sorun, verilerin string olarak gelmesidir. Bu nedenle, verilerin sayısal verilere dönüştürülmesi gerekmektedir. Pandas kütüphanesi, string verileri sayısal verilere dönüştürme işlemini oldukça kolaylaştırır.
Pandas'ın replace() metodu, string verilerde belirli karakterleri değiştirmek veya silmek için kullanılır. Örneğin, '$' işareti olan bir sütunu numeric bir veriye dönüştürmek istediğinizde, önce '$' işaretlerini kaldırabilir veya başka bir karakterle değiştirebilirsiniz.
Örnek Kod | Açıklama |
---|---|
df['Sütun Adı'].replace('\$', '', regex=True).astype(float) | 'Sütun Adı' adlı sütunda bulunan '$' işaretlerini kaldırarak sayısal değere dönüştürür. |
Pandas'ın astype() metodu, bir sütundaki tüm verileri belirli bir tipe dönüştürmek için kullanılır. Örneğin, 'Sütun Adı' adlı bir sütunda bulunan string verileri float verilere dönüştürmek istediğinizde, astype() metodunu kullanarak bu işlemi gerçekleştirebilirsiniz.
Örnek Kod | Açıklama |
---|---|
df['Sütun Adı'] = df['Sütun Adı'].astype(float) | 'Sütun Adı' adlı sütundaki string verileri float verilere dönüştürür. |
Bu yöntemlerle string verilerinin sayısal verilere dönüştürülmesi, veri analizini kolaylaştırır ve daha doğru sonuçlar elde edilmesine yardımcı olur.
Veri Setlerini Birleştirme
Veri analizinde, verilerin farklı veri setlerinde dağıldığı durumlarla sık sık karşılaşılabilir. Bu tür durumlarda, farklı veri setlerindeki verileri birleştirmek gerekir. Pandas kütüphanesi, farklı veri setlerindeki verileri birleştirme işlemi için merge() metodunu sağlar.
merge() metodu, farklı veri setlerindeki verileri seçilen bir sütuna göre birleştirir. Örneğin, iki farklı veri setindeki aynı sütun isimlerindeki veriler, bu sütuna göre birleştirilir.
Pandas kütüphanesi birleştirme işlemi yaparken, farklı birleştirme yöntemleri sağlar. Örneğin, inner, outer, left ve right birleştirme yöntemlerini kullanarak, farklı veri setlerindeki verileri güncelleyebilir veya yeni veri setleri oluşturabilirsiniz.
- Inner birleştirme: İki veri setindeki sütunun kesişim kümesinde olan verileri birleştirir.
- Outer birleştirme: İki veri setindeki sütunun birleşim kümesinde olan tüm verileri birleştirir.
- Left birleştirme: İlk veri setindeki tüm verileri, ikinci veri setindeki ilgili verilerle birleştirir.
- Right birleştirme: İkinci veri setindeki tüm verileri, ilk veri setindeki ilgili verilerle birleştirir.
Birleştirme işlemi, veri setlerindeki ortak sütunlardaki verileri bir araya getirerek, ayrıntılı bir veri analizi yapılmasına olanak sağlar. Özellikle büyük veri setlerinde, verilerin birleştirilmesi, raporlama ve analiz için verimliliği artıran önemli bir araçtır.
Sonuç
Pandas kütüphanesi, veri analizi ve manipülasyonu için oldukça önemli bir araçtır. Veri setlerindeki hatalı ve eksik verileri tespit etmek ve temizlemek, doğru sonuçlar elde etmek için gereklidir. Pandas kütüphanesi eksik verilerinizi ve anormal verilerinizi tespit ederek, veri analizinde yanıltıcı sonuçlara neden olacak verileri temizler.
Ayrıca Pandas kütüphanesi veri dönüştürme ve yeniden şekillendirme için de farklı yöntemler sunar. String verileri sayısal verilere dönüştürmek ve farklı veri setlerini birleştirmek de Pandas'ın sağladığı kolaylıklardandır. Verilerinizi temizledikten sonra, doğru sonuçlar elde etmeniz daha kolay olacaktır.
Özetlemek gerekirse, Pandas kütüphanesi veri temizleme, dönüştürme ve yeniden şekillendirme işlemlerini kolaylaştırırken, veri analizinde doğru sonuçlar elde etmenize yardımcı olur. Veri analizinde doğru sonuçlar almak için, veri setlerinizin doğru ve tam olması önemlidir ve bu nedenle veri temizleme işlemi oldukça önemlidir.