Garfield
YZF Admin
İhtiyacınıza göre sütunları
Varsayımsal olarak aşağıdaki veri kümesinde
Beklenen çıktı,
Burada
Aynı işlemi farklı ihtiyaçlara göre şu şekilde seçebilirsiniz:
Yeni tablo döndüren yöntem ile özgün tabloyu doğrudan değiştiren yöntem arasındaki fark önemlidir.
Birden fazla sütun adını liste içinde verin:
Bu örnekte beklenen sonuç şudur:
Sütun adlarının yazımı birebir eşleşmelidir. Örneğin
Yeni bir değişken oluşturmak istemiyorsanız:
Beklenen çıktı şöyledir:
Bu işlemden sonra
Silmek istediğiniz sütun DataFrame içinde bulunmuyorsa
Bu seçenek,
İşlemden sonra sonucu şu şekilde kontrol edebilirsiniz:
DataFrame.drop() ile kaldırabilirsiniz. Tek bir sütunu veya birden fazlasını silmek için columns parametresini kullanın; özgün tabloyu değiştirmek istemiyorsanız sonucu yeni bir değişkene atayın, değiştirmek istiyorsanız inplace=True seçeneğini kullanın. İşlemden sonra df.columns veya df.head() ile kalan sütunları kontrol edebilirsiniz.Sütun kaldırmanın temel yöntemi
Varsayımsal olarak aşağıdaki veri kümesinde
yas sütununu kaldırmak istediğinizi düşünelim:
Python:
import pandas as pd
df = pd.DataFrame({
"ad": ["Ayşe", "Mehmet"],
"yas": [28, 34],
"sehir": ["Ankara", "İzmir"]
})
sonuc = df.drop(columns=["yas"])
print(sonuc)
Beklenen çıktı,
yas sütunu çıkarılmış hâlidir:
Kod:
ad sehir
0 Ayşe Ankara
1 Mehmet İzmir
Burada
df değişkeni korunur; sütunu kaldırılmış yeni tablo sonuc içinde tutulur. Bu yaklaşım, aynı verinin özgün hâline daha sonra ihtiyaç duyabileceğiniz durumlarda daha güvenlidir.Uygulama seçenekleri
Aynı işlemi farklı ihtiyaçlara göre şu şekilde seçebilirsiniz:
| İhtiyaç | Kullanım | Sonuç |
|---|---|---|
| Yeni DataFrame oluşturmak | df.drop(columns=["yas"]) | Özgün df değişmez. |
| Birden fazla sütunu kaldırmak | df.drop(columns=["yas", "sehir"]) | Belirtilen sütunların tamamı kaldırılır. |
| Özgün DataFrame'i değiştirmek | df.drop(columns=["yas"], inplace=True) | df artık yas sütununu içermez. |
| Sütun adını değişkenle belirtmek | df.drop(columns=silinecekler) | Listedeki sütunlar kaldırılır. |
inplace=True kullandığınızda yöntem None döndürür; değişiklik doğrudan df üzerinde yapılır. Bu dönüşü df = df.drop(..., inplace=True) biçiminde df değişkenine atamayın.Birden fazla sütunu kaldırma
Birden fazla sütun adını liste içinde verin:
Python:
silinecekler = ["yas", "sehir"]
df2 = df.drop(columns=silinecekler)
print(df2.columns.tolist())
Bu örnekte beklenen sonuç şudur:
Kod:
['ad']
Sütun adlarının yazımı birebir eşleşmelidir. Örneğin
Sehir ile sehir aynı sütun adı değildir.Özgün DataFrame'i doğrudan değiştirme
Yeni bir değişken oluşturmak istemiyorsanız:
Python:
df.drop(columns=["yas"], inplace=True)
print(df.columns.tolist())
Beklenen çıktı şöyledir:
Kod:
['ad', 'sehir']
Bu işlemden sonra
df içinde yas sütunu kalmaz. Daha sonra bu sütuna erişmeye çalışırsanız sütun bulunamadığı için hata alırsınız. Bu nedenle özgün veriyi saklamanız gerekiyorsa inplace=True yerine sonucu yeni bir değişkene atayın.Sütun adı yoksa oluşan hatayı yönetme
Silmek istediğiniz sütun DataFrame içinde bulunmuyorsa
drop() varsayılan olarak hata verir. Sütunun bulunmaması normal bir durumsa errors="ignore" kullanabilirsiniz:
Python:
df2 = df.drop(columns=["yas"], errors="ignore")
Bu seçenek,
yas zaten yoksa işlemi durdurmaz. Ancak yazım hatalarını da gizleyebileceği için her durumda kullanılması önerilmez. Sütunun mutlaka bulunması gerekiyorsa varsayılan davranışı koruyun; böylece yanlış sütun adı erken fark edilir.İşlemden sonra sonucu şu şekilde kontrol edebilirsiniz:
- Silinecek sütun adını doğrulayın.
print(df.columns.tolist())çıktısında adın gerçekten bulunduğunu ve büyük-küçük harflerin eşleştiğini kontrol edin. - Sütunu kaldırın. Yeni sonuç için
df.drop(columns=["yas"]), doğrudan değişiklik içindf.drop(columns=["yas"], inplace=True)kullanın. - Kalan sütunları kontrol edin.
print(df.columns.tolist())veyaprint(df.head())çıktısında kaldırılan sütunun görünmediğini doğrulayın.
drop(columns=[...]) yöntemini tercih edin.