0Pricing
Python Academy · Ders

İ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 inclusive

Boole 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 25

Birden Ç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 LA

Aralı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 85

Atama 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:99

Tekil 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 second

nlargest 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 500

Hı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

  1. Series ve DataFrame Temelleri
  2. İndeksleme, Filtreleme ve Mantıksal Maskeler
  3. GroupBy, Birleştirme ve Özet Tablolar
  4. Birleştirme, Katılma ve Veri Temizleme
← Python Academy Sayfasına Dön