Pandas - isin
Cts 06 Aralık 2025isin() Metodu
Bu metodun (pandas.DataFrame.isin(values)) temel amacı, bir DataFrame içindeki her bir elemanın, sağlanan values (değerler) koleksiyonunda bulunup bulunmadığını kontrol etmektir.
Sözdizimi
DataFrame.isin(values)
İşlevi
DataFrame'in her bir hücresini alır ve bu değeri, girdi olarak sağlanan values içinde arar. Sonuç olarak, orijinal DataFrame ile aynı boyutlara sahip, aranan değerin bulunup bulunmadığına bağlı olarak her hücrede True veya False değeri bulunan bir boolean (mantıksal) DataFrame döndürür.
Parametre
| Parametre | Tipi | Açıklama |
|---|---|---|
values |
iterable, Series, DataFrame veya dict |
Kontrol edilecek değerleri içerir. Bu parametrenin tipi, eşleşme davranışını değiştirir. |
values parametresinin farklı tiplere göre davranışı:
-
Iterable (Liste, Küme vb.): DataFrame'deki her bir eleman, iterasyon nesnesindeki herhangi bir değerle eşleşiyorsa sonuç
Trueolur. -
dict (Sözlük): Sözlüğün anahtarları DataFrame'deki sütun isimleri olmalıdır. Kontrol, yalnızca anahtarla eşleşen sütun için yapılır. Örneğin,
{'sutun_ismi': [deger1, deger2]}şeklinde bir girdi, yalnızcasutun_ismisütunundaki değerleri[deger1, deger2]listesiyle karşılaştırır. -
DataFrame veya Series: Bu durumda, hem indeks hem de sütun etiketleri (etiketler eşleşen bir
Seriesiçin indeks) eşleşmelidir. Bir konumdaki sonuç, ancak ilgili hücrenin değeri ve indeksi/sütun etiketivaluesiçindeki karşılık gelen konumla eşleşirseTrueolur.
Dönüş Değeri
-
Tipi:
DataFrame -
Açıklaması: Orijinal DataFrame ile aynı boyutlara ve indekslere sahip, her bir elemanın
valuesiçinde olup olmadığını belirten boolean (mantıksal) değerler içeren bir DataFrame döndürür.
Örnek Kullanım
Elimizde aşağıdaki şekilde bir veri çerçevesi var.
import pandas as pd
df = pd.DataFrame({'bacak_sayisi': [2, 4],
'kanat_sayisi': [2, 0]},
index=['doğan', 'köpek'])
print(df)
Çıktı:
| bacak_sayisi | kanat_sayisi | |
|---|---|---|
| doğan | 2 | 2 |
| köpek | 4 | 0 |
1. iterable (Liste) ile kontrol:
DataFrame'deki her değerin [0, 2] listesinde olup olmadığını kontrol edelim;
print(df.isin([0, 2]))
Çıktı:
| bacak_sayisi | kanat_sayisi | |
|---|---|---|
| doğan | True | True |
| köpek | False | True |
Veri çerçevesinde sadece 4 değeri [0, 2] listesinde olmadığı için bu değere ait çıktı False oldu.
- Bunun tam tersini kontrol etmek için
~karakterini kullanmalıyız;
print(~df.isin([0, 2]))
| bacak_sayisi | kanat_sayisi | |
|---|---|---|
| doğan | False | False |
| köpek | True | False |
2. dict (Sözlük) ile sütuna özel kontrol:
Yalnızca 'kanat_sayisi' sütunundaki değerlerin [0, 3] listesinde olup olmadığını kontrol edelim;
print(df.isin({'kanat_sayisi': [0, 3]}))
Çıktı:
| bacak_sayisi | kanat_sayisi | |
|---|---|---|
| doğan | False | False |
| köpek | False | True |
kanat_sayisi sütunudaki değerlerden sadece 2 değeri [0, 3] listesinde yok.