Kurs
Çoğu zaman bir DataFrame, analiziniz için faydalı olmayan sütunlar içerir. Bu tür sütunlar, kalan sütunlara odaklanmayı kolaylaştırmak için DataFrame’den çıkarılmalıdır.
Sütunlar, etiket adları ve karşılık gelen eksen belirtilerek ya da doğrudan indeks veya sütun adları verilerek kaldırılabilir. Çok düzeyli indeks kullanıldığında, düzey belirterek farklı düzeylerdeki etiketler kaldırılabilir.
.drop() Yöntemi
Eksik değer sayılarını, dataframe’in şekliyle karşılaştıralım. county_name sütununun satır sayısı kadar eksik değer içerdiğini fark edeceksiniz; bu da yalnızca eksik değerler içerdiği anlamına gelir.
ri.isnull().sum()
state 0
stop_date 0
stop_time 0
county_name 91741
driver_gender 5205
driver_race 5202
...
ri.shape
91741, 15
Faydalı bilgi içermediği için bu sütun .drop() yöntemi kullanılarak silinebilir.
Sütun adını belirtmenin yanı sıra, sütun ekseninden sildiğinizi ve işlemin yerinde (in-place) gerçekleşmesini istediğinizi de belirtmeniz gerekir; bu, aşağıda gösterildiği gibi atama ifadesini gereksiz kılar:
ri.drop('county_name',
axis='columns', inplace=True)
.dropna() Yöntemi
.dropna() yöntemi, bir satırdaki eksik değerlerin varlığına göre satırları düşürmenin harika bir yoludur.
Örneğin, yukarıdaki veri kümesini kullanarak, stop_date ve stop_time sütunlarının analizimiz için kritik olduğunu ve dolayısıyla bu veriler olmadan bir satırın bizim için işe yaramaz olduğunu varsayalım.
ri.head()
state stop_date stop_time driver_gender driver_race
0 RI 2005-01-04 12:55 M White
1 RI 2005-01-23 23:15 M White
2 RI 2005-02-17 04:15 M White
3 RI 2005-02-20 17:15 M White
4 RI 2005-02-24 01:20 F White
pandas’a, stop_date veya stop_time sütunlarından herhangi birinde eksik değer bulunan tüm satırları düşürmesini söyleyebiliriz. Bir alt küme belirttiğimiz için, .dropna() yöntemi hangi satırların düşürüleceğine karar verirken yalnızca bu iki sütunu dikkate alır.
ri.dropna(subset=['stop_date', 'stop_time'], inplace=True)
Sütun Silmenin Etkileşimli Örneği
Bu örnekte, yalnızca eksik değerler içerdiği için county_name sütununu ve tüm trafik durdurmalar tek bir eyalette (Rhode Island) gerçekleştiği için state sütununu sileceksiniz. Dolayısıyla, bu sütunlar faydalı bilgi içermedikleri için kaldırılabilir. Her sütundaki eksik değer sayısı sizin için konsola yazdırılmıştır.
- Satır ve sütun sayılarını öğrenmek için DataFrame’in
.shapeözelliğini inceleyin. .drop()yöntemine sütun adlarını bir dizi (liste) olarak geçirerekcounty_namevestatesütunlarının ikisini de silin.- Artık iki sütun eksik olduğunu doğrulamak için
.shapeözelliğini tekrar inceleyin.
# Examine the shape of the DataFrame
print(ri.shape)
# Drop the 'county_name' and 'state' columns
ri.drop(['county_name', 'state'], axis='columns', inplace=True)
# Examine the shape of the DataFrame (again)
print(ri.shape)
Yukarıdaki kodu çalıştırdığınızda aşağıdaki sonucu üretir:
(91741, 15)
(91741, 13)
Pandas’ta sütunları silme hakkında daha fazla bilgi için, kursumuz olan ggplot2 ile Veri Görselleştirmeye Giriş kapsamındaki bu videoya bakın.
Bu içerik, Kevin Markham’ın DataCamp’teki ggplot2 ile Veri Görselleştirmeye Giriş kursundan alınmıştır.
Pandas Sütun Ekleme Eğitimimize göz atın.
