Trova le corde nei panda

Trova le corde nei panda

Questo articolo ti aiuterà a comprendere vari metodi che possiamo utilizzare per cercare una stringa in un frame dati Panda.

Panda contiene metodo

I panda ci forniscono una funzione contiene () che consente la ricerca se una sottostringa è contenuta in una serie Panda o da dati.

La funzione accetta una stringa letterale o un modello di espressione regolare che viene quindi abbinato ai dati esistenti.

La sintassi della funzione è come mostrata:

Serie.str.contiene (pattern, case = true, flags = 0, na = nessuno, regex = true)

I parametri della funzione sono espressi come mostrato:

  1. modello - si riferisce alla sequenza dei caratteri o al modello di regex per cercare.
  2. caso - Specifica se la funzione deve obbedire alla sensibilità del caso.
  3. bandiere - Specifica i flag da passare al modulo regex.
  4. n / a - riempie i valori mancanti.
  5. Regex - Se vero, tratta il modello di input come un'espressione regolare.

Valore di ritorno

La funzione restituisce una serie o un indice di valori booleani che indicano se il modello/sottostringa si trova nel frame dati o nella serie.

Esempio

Supponiamo di avere un frame di dati di esempio mostrato di seguito:

# Importa panda
Importa panda come PD
df = pd.DataFrame ("full_names": ['Irene Coleman', 'Maggie Hoffman', 'Lisa Crawford', 'Willow Dennis', 'Emmett Shelton'])
df

Cerca una stringa

Per cercare una stringa, possiamo passare la sottostringa come parametro pattern come mostrato:

Stampa (df.full_names.str.contiene ('Shelton'))

Il codice sopra controlla se la stringa "Shelton" è contenuta nelle colonne Full_Names del Frame dati.

Questo dovrebbe restituire una serie di valori booleani che indicano se la stringa si trova in ogni riga della colonna specificata.

Un esempio è come mostrato:

Per ottenere il valore effettivo, è possibile superare il risultato del metodo contiene () come indice del frame dati.

Stampa (DF [DF.full_names.str.contiene ('shelton')])

Quanto sopra dovrebbe tornare:

full_names
4 Emmett Shelton

Ricerca sensibile al caso

Se la sensibilità del caso è importante nella ricerca, è possibile impostare il parametro del caso su True come mostrato:

Stampa (df.full_names.str.contiene ('shelton', case = true))

Nell'esempio sopra, impostiamo il parametro del caso su True, abilitando una ricerca sensibile al caso.

Dal momento che cerchiamo la stringa minuscola "Shelton", la funzione dovrebbe ignorare la partita maiuscola e restituire False.

Ricerca regex

Possiamo anche cercare usando un modello di espressione regolare. Un semplice esempio è come mostrato:

Stampa (df.full_names.str.contiene ('wi | em', case = false, regex = true))

Cerchiamo qualsiasi stringa corrispondente ai modelli "wi" o "em" nel codice sopra. Si noti che impostiamo il parametro del caso su False, ignorando la sensibilità del caso.

Il codice sopra dovrebbe restituire:

Chiusura

Questo articolo ha trattato come cercare una sottostringa in un telaio di dati Pandas utilizzando il metodo (). Controlla i documenti per ulteriori informazioni.