В моем фрейме данных есть столбец, в котором есть электронные письма, а не электронные.
с этим срезом я могу получить только те поля, которые не имеют электронной почты:
df[~df['email'].str.contains('@', case=False)]['email']
Но когда Я пытаюсь заменить его значением моего предпочтения:
df[~df['email'].str.contains('@', case=False)]['email'] = 'No'
Столбец не получает изменения.
Я не получаю никакой ошибки, только следующее предупреждение:
/home/rockstar/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
"""Entry point for launching an IPython kernel.
следует за изображением моего полного кадра данных:
![python](https://i.stack.imgur.com/Jq0Bh.png)
Кроме того, df[~df['email'].str.contains('@',case=False)] = 'No'
работает отлично, но я теряю данные из остальная часть линии