Поскольку вы ищете строку / значение для проверки и выполнения действия для всего DataFrame, следовательно, DataFrame.replace
метод подходит здесь для предостережения ..
Пример DataFrame:
>>> df
a
0 foo1
1 foo2
2 bar
3 bar
4 bar
Замена bar
пробелом или вы можете заменить его на NaN
Значение при желании:
>>> df.replace("bar", "", regex=True)
a
0 foo1
1 foo2
2
3
4
Или заменить bar
на NaN
>>> df.replace("bar", np.nan, regex=True)
# df.replace("bar", np.nan, regex=True, inplace=True)
a
0 foo1
1 foo2
2 NaN
3 NaN
4 NaN
Вы можете выбрать inplace=True
, если хотите заменить на фактический фрейм данных:
Имитировать пример так:
>>> df
col1
0 Getting links from: https://www.bar.com/ Getting links from: https://www.boo.com/ Getting links from: https://www.foo.com/
1 ├───OK─── http://www.this.com/ ├───OK─── http://www.this.com/ ├───OK─── http://www.this.com/
2 ├───OK─── http://www.is.com/ ├───OK─── http://www.is.com/ ├───OK─── http://www.is.com/
3 ├─BROKEN─ http://www.broken.com/ 2 links found. 0 excluded. 0 broken. ├─BROKEN─ http://www.broken.com/
4 NaN NaN ├───OK─── http://www.set.com/
5 NaN NaN ├───OK─── http://www.one.com/
Результат с str.contains:
>>> df[~df["col1"].str.contains("found")]
col1
0 Getting links from: https://www.bar.com/ Getting links from: https://www.boo.com/ Getting links from: https://www.foo.com/
1 ├───OK─── http://www.this.com/ ├───OK─── http://www.this.com/ ├───OK─── http://www.this.com/
2 ├───OK─── http://www.is.com/ ├───OK─── http://www.is.com/ ├───OK─── http://www.is.com/
4 NaN NaN ├───OK─── http://www.set.com/
5 NaN NaN ├───OK─── http://www.one.com/
ИЛИ как указано, убедитесь, что значения имеют строковый тип для применения операции
>>> df[~df["col1"].astype(str).str.contains("found")]