Panda: controlla se la stringa contiene più sottostringhe
È possibile utilizzare i seguenti metodi per verificare se una stringa in un DataFrame panda contiene più sottostringhe:
Metodo 1: controlla se la stringa contiene una delle numerose sottostringhe
df[' string_column ']. str . contains (' | ' .join ([' string1 ',' string2 ']))
Metodo 2: controlla se la stringa contiene più sottostringhe
df[' string_column ']. str . contains ( r'^(?=.*string1)(?=.*string2)' )
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con i seguenti DataFrame panda:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['Good East Team', 'Good West Team', 'Great East Team',
'Great West Team', 'Bad East Team', 'Bad West Team'],
' points ': [93, 99, 105, 110, 85, 88]})
#view DataFrame
print (df)
team points
0 Good East Team 93
1 Good West Team 99
2 Great East Team 105
3 Great West Team 110
4 Bad East Team 85
5 Bad West Team 88
Esempio 1: controlla se la stringa contiene una delle diverse sottostringhe
Possiamo utilizzare la seguente sintassi per verificare se ogni stringa nella colonna del team contiene la sottostringa “Buono” o “È”:
#create new column that checks if each team name contains 'Good' or 'East'
df[' good_or_east '] = df[' team ']. str . contains (' | ' .join ([' Good ',' East ']))
#view updated DataFrame
print (df)
team points good_or_east
0 Good East Team 93 True
1 Good West Team 99 True
2 Great East Team 105 True
3 Great West Team 110 False
4 Bad East Team 85 True
5 Bad West Team 88 False
La nuova colonna good_or_east restituisce i seguenti valori:
- Vero se la squadra contiene “Buono” o “È”
- Falso se la squadra non contiene né “Buono” né “È”
Nota : il | L’operatore significa “o” in panda.
Esempio 2 : controlla se la stringa contiene più sottostringhe
Possiamo utilizzare la seguente sintassi per verificare se ogni stringa nella colonna team contiene la sottostringa “Buono” e “Is”:
#create new column that checks if each team name contains 'Good' and 'East'
df[' good_and_east '] = df[' team ']. str . contains ( r'^(?=.*Good)(?=.*East)' )
#view updated DataFrame
print (df)
team points good_and_east
0 Good East Team 93 True
1 Good West Team 99 False
2 Great East Team 105 False
3 Great West Team 110 False
4 Bad East Team 85 False
5 Bad West Team 88 False
La nuova colonna good_and_east restituisce i seguenti valori:
- Vero se la squadra contiene “Buono” e “È”
- Falso se la squadra non contiene “Buono” e “È”
Tieni presente che viene restituito un solo valore True poiché esiste un solo nome di squadra contenente la sottostringa “Buono” e la sottostringa “Est”.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:
Panda: aggiungi una colonna da un DataFrame a un altro
Panda: ottieni righe che non si trovano in un altro DataFrame
Panda: come verificare se più colonne sono uguali