Veri Bilimi İçin Ralli Maratonu Etap — 22.ipynb
Python Kütüphanelerine Giriş — Pandas — 3
Pandas kütüphanesi ile kaldığımız yerden devam edelim. Herhangi bir kolon seçme işlemini görelim. Önceki yazımızda yer alan verileri ile devam edelim. Öncelikle verilerimizi bir hatırlayalım.
Verimizde bulunan “ second “ sütununu seçelim.
Görsele baktığımızda herhangi bir sütunu seçip gözlemleyebiliriz.
Sütun veya satır seçme işlemi için iki farklı seçeneğimiz mevcuttur. İstersek indek numarasına göre seçim yapabiliriz, istersek isimlendirildiği şekilde seçim yapabiliriz. Bunların sağlayan anahtar sözcüklerimiz ise loc ve iloc olacaktır.
→ loc : Seçeceğimiz sütunun string veri tipinde yani metinsel olarak seçmemizi sağlıyor.
→ iloc : Seçeceğimiz sütunun integer veri tipinde seçmemizi sağlıyor. Anahtar sözcüğün başında yer alan “ i “ harfi integer veri tipini göstermektedir.
Haydi oluşturduğumuz verimizde hem metinsel(string) hem de sayısal(integer) bir seçim yapalım.
Görsele baktığımızda sütun ile işlem yapacağımız zaman; iki boyutlu diziler için, iki nokta üst üste [ : ] kullanımını görmüştük. Sütunda yer alan sıfırıncı indeksimiz “ First “ ile işlem yaptık. Ya metinsel olarak ya da sayısal bir veri girişi olarak işlemimizi başarı ile sonuçlandırdık. Artık sütun veya satır seçme işlemini biliyoruz. Bu işlemler ile beraber verimiz için mantıksal operatörler kullanıp şartları sağlayabiliriz.
Görselimize baktığımızda “ Third ” sütunu ile işlem yapmaktayız ve sütunumuzun verileri, yirmi sayısından büyük olanları getirmemizi istedik. Bu koşulu loc ve iloc ile de gösterdik.
Şimdi de daha önceden gördüğümüz copy metodunu burada en efektif bir şekilde kullanalım. Verilerimiz her zaman böyle az sütun veya satırdan oluşmayacak oluşacağı durumlarda copy metodu ile yeni bir değişkene atayıp kullanabiliriz.
Örneğin verimizi bozmadan yeni bir sütun eklenmesi halinde bir gözlem yapmak istersek copy metodu bayağı bir yardımcı olacaktır. Haydi hemen görelim.
copy():
data_frame değişkeni ile aynı oldu. Artık data_frame değişkeninde herhangi bir veri değişmeden doğrudan data_frame_two değişkeni üzerinden işlemler yapabileceğiz. Hemen yeni değişkenimizde bulunan sütunlara ek bir sütun oluşturalım.
Yeni değişkenimiz için yeni bir sütun oluşturduk. Bununla birlikte bir filtreleme metodu olan isin() metodunu kullanalım.
isin():
Bu metodun kullanım amacı seçeceğimiz bir sütun için belirtilen verileri seçip; data frame verilerini tekrardan şekillendirmek olacaktır. Örnekte daha iyi anlayacağız.
Metotlarımızı kullanmaya devam ederken karşımıza hep anlamlı veriler gelmeyebilir. Bazen kayıp veya anlamsız veriler karşımıza çıkabilir. Pandas kütüphanesi bu anlamsız verileri NaN ile gösteriyor.
NaN = Not a Number
Bu açılıma göre hareket edecek olursak Nan, sayısal olmayan bir değeri tanımlamak için kullanılır.
Haydi kullandığımız data frame için NaN değerleri üretelim. Bu yüzden başta oluşturduğumuz (6 , 3) dizisi için satırlarımız yeniden indeksleme işlemini gerçekleştirelim. İndeksleme işlemi için reindex() metodunu kullanacağız.
reindex():
dataframe.reindex() metodu , isteğe bağlı doldurma mantığıyla data frame verilerini yeni dizine uyumlu hale getirir ve NaN değerlerini yerleştirir.
Hem reindex() metodunu kullanalım hem de NaN değerlerini görelim.
Görselimize baktığımızda reindex() metodu ile satırımızı yeniden şekillendirdik. Sütun kısımlarında ise NaN değerlerini oluşturduk ve biz hiçbir zaman verimizde NaN değerlerin olmasını istemeyiz. Bu yüzden ilk olarak data frame yapımızda NaN değeri var mı yok mu? Bu sorunun cevabı ise isna() metodunda saklı.
isna():
isna() metodunu kullanırken bize dönen sonuç, True veya False olarak dönecektir. Eğer verimizde birden çok True değeri var ise dikkatli olmalıyız ve o True değerlerini False değerine çevirmeliyiz. Bu yüzden NaN değerlerini ortadan kaldıracak bir kaç metot mevcuttur. İlk metodumuz ile başlayalım.
dropna():
NaN değerlerini yok etmek için kullandığımız bir yöntemdir. Gördüğünüz gibi tüm NaN değerleri yok oldu. Emin olabilirsiniz ki biz hiçbir zaman bu kadar verinin silinmesini ve yok olmasını istemeyiz. Toplamda 4 adet verimiz yok oldu. Peki ne yapabiliriz bunun için? Başka bir metot kullanalım fillna() metodunu.
fillna():
Oluşturduğumuz veride NaN değerleri mevcut ise kullanacağımız bu metot ile istediğimiz bir değeri atayabiliriz. Hemen bir örnekte görelim.
Verilerimizi artık yavaş yavaş anlamlı hale getiriyoruz ama bunlar yetmez. NaN değerleri yerine atanan veriler daha anlamlı olmalıdır. Bir diğer yazımızda buna değineceğiz.
Bir sonraki yazımızda görüşmek üzere.