Pandy: sprawdź, czy ciąg zawiera wiele podciągów
Możesz użyć następujących metod, aby sprawdzić, czy ciąg w ramce DataFrame pandy zawiera wiele podciągów:
Metoda 1: Sprawdź, czy ciąg zawiera jeden z kilku podciągów
df[' string_column ']. str . contains (' | ' .join ([' string1 ',' string2 ']))
Metoda 2: Sprawdź, czy ciąg zawiera wiele podciągów
df[' string_column ']. str . contains ( r'^(?=.*string1)(?=.*string2)' )
Poniższe przykłady pokazują, jak w praktyce używać każdej metody z następującą ramką DataFrame pand:
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
Przykład 1: Sprawdź, czy ciąg zawiera jeden z kilku podciągów
Możemy użyć następującej składni, aby sprawdzić, czy każdy ciąg w kolumnie zespołu zawiera podciąg „Dobry” lub „Jest”:
#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
Nowa kolumna good_or_east zwraca następujące wartości:
- Prawda , jeśli zespół zawiera „Dobry” lub „Jest”
- Fałsz , jeśli zespół nie zawiera ani „Dobrego”, ani „Jest”
Uwaga : | Operator oznacza „lub” w pandach.
Przykład 2 : Sprawdź, czy ciąg zawiera wiele podciągów
Możemy użyć następującej składni, aby sprawdzić, czy każdy ciąg w kolumnie zespołu zawiera podciąg „Dobry” i „Jest”:
#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
Nowa kolumna good_and_east zwraca następujące wartości:
- Prawda , jeśli zespół zawiera „Dobry” i „Jest”
- Fałsz , jeśli zespół nie zawiera „Dobry” i „Jest”
Należy pamiętać, że zwracana jest tylko jedna wartość True , ponieważ istnieje tylko jedna nazwa zespołu zawierająca podciąg „Dobry” i „Wschód”.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:
Pandy: dodaj kolumnę z jednej ramki DataFrame do drugiej
Pandy: Uzyskaj wiersze, których nie ma w innej ramce DataFrame
Pandy: jak sprawdzić, czy wiele kolumn jest równych