Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Series.isin() și DataFrame.isin() în pandas

Verifică pentru fiecare valoare dacă se află într-o listă dată; util pentru a filtra rândurile după mai multe valori permise.

Sintaxă
s.isin(values)
df.isin(values)

Ce face Series.isin() și DataFrame.isin()

Series.isin(lista) returnează o mască booleană: True unde valoarea se află în listă, False în rest. Folosită ca filtru, df[df["oras"].isin(["Iași", "Cluj"])] înlocuiește o înșiruire lungă de condiții == legate cu |. Cu ~ în față păstrezi rândurile care nu sunt în listă.

DataFrame.isin() verifică toate celulele. Dacă primește un dicționar, fiecare coloană este comparată doar cu lista de la cheia ei; coloanele care lipsesc din dicționar dau False.

Parametri

Parametru Descriere
values O listă, un set, un Series sau (la DataFrame.isin) un dicționar {coloana: lista}. Un singur text trebuie pus tot într-o listă: ["Iași"].

Ce returnează

Un Series sau un DataFrame de valori booleene, cu aceeași formă ca datele inițiale.

Exemple

Exemplul 1: Filtrare după mai multe orașe

import pandas as pd

df = pd.DataFrame({
    "nume": ["Ana", "Mihai", "Ioana", "Andrei", "Elena"],
    "oras": ["Iași", "Cluj", "Timișoara", "Cluj", "Brașov"],
})

orase = ["Iași", "Cluj"]
print(df["oras"].isin(orase))
print()
print(df[df["oras"].isin(orase)])
print()
print(df[~df["oras"].isin(orase)])

Rezultat

0     True
1     True
2    False
3     True
4    False
Name: oras, dtype: bool

     nume  oras
0     Ana  Iași
1   Mihai  Cluj
3  Andrei  Cluj

    nume       oras
2  Ioana  Timișoara
4  Elena     Brașov

Exemplul 2: DataFrame.isin cu un dicționar

Coloana oras se compară cu lista ei, coloana nota cu lista ei. Coloana nume nu apare în dicționar, deci dă peste tot False.

import pandas as pd

df = pd.DataFrame({
    "nume": ["Ana", "Mihai", "Ioana"],
    "oras": ["Iași", "Cluj", "Iași"],
    "nota": [10, 7, 9],
})

rezultat = df.isin({"oras": ["Iași"], "nota": [9, 10]})
print(rezultat)
print()
print(df[rezultat["oras"] & rezultat["nota"]])

Rezultat

    nume   oras   nota
0  False   True   True
1  False  False  False
2  False   True   True

    nume  oras  nota
0    Ana  Iași    10
2  Ioana  Iași     9

Greșeli frecvente

  • Dai un singur text în loc de listă: s.isin("Iași") aruncă TypeError. Scrie s.isin(["Iași"]).
  • Te aștepți să găsească bucăți de text: isin(["Iaș"]) nu potrivește „Iași”. Compararea este pe valoarea întreagă; pentru subșiruri folosește .str.contains().
  • Diferențe mici de scriere: „Iasi” fără diacritice sau cu spațiu la final nu este egal cu „Iași”. Curăță datele înainte (de exemplu cu .str.strip()).

Comenzi înrudite

  • Filtrare cu condiții (boolean indexing): Păstrează doar rândurile care îndeplinesc o condiție, cu operatorii &, |, ~ pentru condiții compuse și Series.between pentru intervale.
  • DataFrame.query(): Filtrează rândurile cu o condiție scrisă ca text, de exemplu „nota > 8 and oras == ‘Iași'”, cu variabile prin @.
  • Series.str (lower, upper, strip, len, replace, slice): Accesorul .str aplică metode de text pe fiecare valoare dintr-o coloană: litere mici, spații, lungime, înlocuire, tăiere.
  • value_counts(): Numără de câte ori apare fiecare valoare într-o coloană (sau fiecare combinație de valori pe rânduri), în ordine descrescătoare.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Series.isin() și DataFrame.isin()

Ai o nelămurire despre utilizarea comenzii Series.isin() și DataFrame.isin() sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.