Czy jest jakaś funkcja, która byłaby odpowiednikiem kombinacji df.isin()i df[col].str.contains()?
Na przykład, powiedzmy, że mam serię
s = pd.Series(['cat','hat','dog','fog','pet'])i chcę znaleźć wszystkie miejsca, w których szawiera którekolwiek z ['og', 'at'], chciałbym uzyskać wszystko oprócz „zwierzaka”.
Mam rozwiązanie, ale jest raczej nieeleganckie:
searchfor = ['og', 'at']
found = [s.str.contains(x) for x in searchfor]
result = pd.DataFrame[found]
result.any()
Czy jest lepszy sposób na zrobienie tego?
pd.Series.str.contains. Jeśli problemem jest wydajność, warto to zbadać.