![](/img/trans.png)
[英]In python, how can you delete lines in a tabular text format that do NOT contain a specific word?
[英]How can I delete the lines that contain a part (search word) in python?
我有一個 3 列的 dataframe,我想刪除所有行,其中包含字符串的一部分(搜索鍵)。
我的 dataframe:
user_name user_first_name user_email
Max Mustermann max.musterman@gmail.com
Tom Hans tom.musterman@web.de
Tom1 Hans1 tom.musterman@test.de
我的搜索關鍵字是:@gmail.com,@web.de
df = df[~df['user_email'].isin(['*@gmail.com'])]
它不起作用,因為我需要寫 excat email 地址。
使用str.endswith
:
df = df[~df['user_email'].str.endswith('@gmail.com')]
user_name user_first_name user_email
1 Tom Hans tom.musterman@web.de
2 Tom1 Hans1 tom.musterman@test.de
或支持正則表達式str.contains
:
df = df[~df['user_email'].str.contains('.*@gmail\.com$')]
user_name user_first_name user_email
1 Tom Hans tom.musterman@web.de
2 Tom1 Hans1 tom.musterman@test.de
您的列表暗示您可能想要傳遞多個條件,因此str.contains
可能是最好的選擇,使用|
划定條件:
df = df[~df['user_email'].str.contains('.*@gmail\.com$|.*@web\.de$')]
user_name user_first_name user_email
2 Tom1 Hans1 tom.musterman@test.de
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.