İndeksleme, Filtreleme ve Mantıksal Maskeler
loc, iloc ve mantıksal koşullarla satır ve sütunları seçin.
İndeksleme, Filtreleme ve Mantıksal Maskeler, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
loc ve iloc
loc etiketlere göre, iloc ise tamsayı konumlarına göre seçim yapar. Bunları asla karıştırmayın.
import pandas as pd
df = pd.DataFrame({"a":[1,2,3],"b":[4,5,6]}, index=["x","y","z"])
print(df.loc["y"]) # row with label y
print(df.iloc[1]) # row at position 1 (same row)
print(df.loc["x":"y"]) # rows x to y inclusiveBoole Maskesiyle Filtreleme
Bir Boole Series oluşturun ve satırları seçmek için bunu kullanın. Bu, NumPy boole indekslemesinin pandas karşılığıdır.
import pandas as pd
df = pd.DataFrame({"name":["Alice","Bob","Carol"],"age":[30,17,25]})
adults = df[df["age"] >= 18]
print(adults)
# Alice 30
# Carol 25Birden Çok Koşul
Boole koşullarını & (ve) ve | (veya) ile birleştirin. Her koşulu parantez içine alın.
import pandas as pd
df = pd.DataFrame({"city":["NY","LA","NY","LA"],"score":[80,90,70,85]})
result = df[(df["city"]=="NY") & (df["score"]>75)]
print(result)query() Yöntemi
df.query("expression") bir dize ifadesini kabul eder ve çoğu zaman boole maskelerinden daha okunaklıdır.
import pandas as pd
df = pd.DataFrame({"age":[30,17,25],"score":[90,80,70]})
result = df.query("age >= 18 and score > 75")
print(result)isin() ile Filtreleme
isin(list), bir sütun değerinin verilen bir listede bulunduğu satırları filtreler.
import pandas as pd
df = pd.DataFrame({"city":["NY","LA","Chicago","NY"],"val":[1,2,3,4]})
print(df[df["city"].isin(["NY","LA"])])
# rows with NY or LAAralık Filtreleme için between()
series.between(left, right), [left, right] aralığındaki değerler için True döndürür; varsayılan olarak uç değerler dahildir.
import pandas as pd
df = pd.DataFrame({"score":[55,70,85,95,40]})
print(df[df["score"].between(60, 90)])
# 70 and 85Atama için loc
SettingWithCopyWarning uyarısından kaçınmak için yerinde atamalarda her zaman loc/iloc kullanın.
import pandas as pd
df = pd.DataFrame({"val":[1,2,3,4]})
df.loc[df["val"] > 2, "val"] = 99
print(df)
# 0:1 1:2 2:99 3:99Tekil Değerler için at ve iat
at[label, col] ve iat[i, j] hızlı skaler erişim sağlar; tekil değerlerde loc/iloc kullanımından daha hızlıdır.
import pandas as pd
df = pd.DataFrame({"a":[10,20],"b":[30,40]})
print(df.at[0,"a"]) # 10 (by label)
print(df.iat[1,1]) # 40 (by position)Dtype'a göre Seçim
select_dtypes(include/exclude), sütunları veri türlerine göre seçer.
import pandas as pd
df = pd.DataFrame({"x":[1,2],"name":["a","b"],"score":[1.5,2.5]})
nums = df.select_dtypes(include=["number"])
print(nums.columns.tolist()) # ['x', 'score']Yinelenenleri Kaldırma
drop_duplicates() yinelenen satırları kaldırır. Yalnızca belirli sütunları karşılaştırmak için subset belirtin.
import pandas as pd
df = pd.DataFrame({"name":["Alice","Bob","Alice"],"age":[30,25,30]})
print(df.drop_duplicates())
# keeps first Alice, removes secondnlargest ve nsmallest
Bir sütun değerine göre en üstteki veya en alttaki N satırı verimli bir şekilde seçin.
import pandas as pd
df = pd.DataFrame({"product":["A","B","C","D"],"sales":[500,300,800,200]})
print(df.nlargest(2,"sales"))
# C 800
# A 500Hızlı Kontrol
loc ile iloc arasındaki fark nedir?
Özet
Etiket tabanlı seçim için loc[label], konum tabanlı seçim için iloc[i] kullanın. Satırları &/| ile birleştirilmiş boole maskeleriyle filtreleyin. Okunaklı filtreler için query(), üyelik testleri için isin() kullanın ve SettingWithCopyWarning uyarısından kaçınmak için her zaman loc üzerinden atama yapın.
Sıkça Sorulan Sorular
“İndeksleme, Filtreleme ve Mantıksal Maskeler” dersi ücretsiz mi?
Evet — “İndeksleme, Filtreleme ve Mantıksal Maskeler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“İndeksleme, Filtreleme ve Mantıksal Maskeler” dersinde ne öğreneceğim?
loc, iloc ve mantıksal koşullarla satır ve sütunları seçin. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“İndeksleme, Filtreleme ve Mantıksal Maskeler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Series ve DataFrame Temelleri
- İndeksleme, Filtreleme ve Mantıksal Maskeler
- GroupBy, Birleştirme ve Özet Tablolar
- Birleştirme, Katılma ve Veri Temizleme