Pandas DataFrame’lerinden Sütunları Etkin Şekilde Kaldırma
Pandas DataFrame’leri, Python’da veri manipülasyonunun temel taşlarından biridir. Sıklıkla, mevcut analizinizle ilgili olmayan sütunları kaldırmanız gerekecektir. Bu makale, Pandas DataFrame’lerinizden sütunları silmek için çeşitli yöntemleri ayrıntılarıyla açıklayarak, net örnekler sağlayarak ve en iyi uygulamaları vurgulayarak anlatmaktadır.
İçerik Tablosu:
drop()
Yöntemini Kullanma- Birden Fazla Sütun Silme
del
Anahtar Kelimesini Kullanmapop()
Yöntemini Kullanma- En İyi Uygulamalar ve Hususlar
- SSS
drop()
Yöntemini Kullanma
drop()
yöntemi, sütun silme için en çok yönlü ve önerilen yaklaşımdır. DataFrame’i yerinde değiştirmenize veya bir kopya oluşturmanıza olanak tanıyarak esneklik ve kontrol sunar.
import pandas as pd
# Örnek DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
print("Orijinal DataFrame:n", df)
# 'col2' sütununu silme ve yeni bir DataFrame oluşturma
df_dropped = df.drop('col2', axis=1) # axis=1 sütun silmeyi belirtir
print("n'col2' silindikten sonra DataFrame (yeni DataFrame):n", df_dropped)
# 'col3' sütununu yerinde silme
df.drop('col3', axis=1, inplace=True)
print("n'col3' silindikten sonra DataFrame (yerinde):n", df)
axis=1
çok önemlidir ve sütun silmeyi gösterir (axis=0
satırlar içindir). inplace=True
orijinal DataFrame’i değiştirir; aksi takdirde bir kopya döndürülür.
Birden Fazla Sütun Silme
drop()
birden fazla sütunu kolayca işler. Sadece sütun adlarının bir listesini sağlayın.
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12]}
df = pd.DataFrame(data)
# Birden fazla sütun silme
df_dropped = df.drop(['col2', 'col4'], axis=1)
print("nBirden fazla sütun silindikten sonra DataFrame:n", df_dropped)
del
Anahtar Kelimesini Kullanma
del
, tek bir sütunu kaldırmak için özlü bir yol sunar, ancak kopya oluşturmadan doğrudan DataFrame’i değiştirir. Dikkatli kullanın!
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
# 'col2' sütununu del kullanarak silme
del df['col2']
print("n'col2' silindikten sonra DataFrame (del kullanarak):n", df)
pop()
Yöntemini Kullanma
pop()
bir sütunu kaldırır ve onu Pandas Serisi olarak döndürür. Hem silinen sütuna hem de değiştirilmiş DataFrame’e ihtiyacınız olduğunda kullanışlıdır.
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
# 'col2' sütununu pop() kullanarak silme
popped_column = df.pop('col2')
print("n'col2' silindikten sonra DataFrame:n", df)
print("nSilinen sütun:n", popped_column)
En İyi Uygulamalar ve Hususlar
Çoğu senaryo için, esnekliği ve kopya oluşturma yeteneği nedeniyle (orijinal DataFrame’de istenmeyen değişiklikleri önlemek için) drop()
yöntemi tercih edilir. del
yalnızca yerinde değişikliğin kabul edilebilir olduğu tek sütun silme işlemleri için uygundur. pop()
, silinen sütunun verilerine ihtiyaç duyan durumlar için özel bir yöntemdir.
SSS
- S: Var olmayan bir sütunu silmeye çalışırsam ne olur?
Y: Hemdrop()
hem dedel
tarafındanKeyError
hatası oluşturulur. - S: Sütunları bir koşula göre silebilir miyim?
Y: Evet, yalnızca istenen sütunları içeren yeni bir DataFrame oluşturun, Boole indekslemesi veya sütun seçimi kullanın. - S: Bu yöntemler arasında performans farkı var mı?
Y: Tek sütunlar için farklılıklar genellikle ihmal edilebilir düzeydedir. Birden fazla sütun içindrop()
genellikle daha verimlidir.