使用 Fuzzywuzzy 关键字匹配过滤数据框
Filtering a dataframe using Fuzzywuzzy keyword matches
新手 Python 用户在这里。
我有一个从 csv 文件导入的数据框,我需要从 from_data 列搜索 "Alert" 和 "Amber" 关键字(搜索上、下或组合两种情况)。
这是我名为 df 的数据框的内容:
Id_No from_data
1 Alert g12134 CONFIRMATION CODE A27
1 ALERT g12134 CONFIRMATION CODE A28
5 g12136 CONFIRMATION CODE B01 - RED
5 g12136 CONFIRMATION CODE B02 - AMBER
6 g12136 CONFIRMATION CODE B01 - RED
6 g12136 CONFIRMATION CODE B02 - AMBER
9 Alert g12134 CONFIRMATION CODE A27
15 **ERROR** no alert was registered
17 g12136 CONFIRMATION CODE B02 - AMBER
19 g12136 CONFIRMATION CODE B03 - GREEN
这是我想要的(在新数据框中):
id_no from_data
1 Alert g12134 CONFIRMATION CODE A27
1 ALERT g12134 CONFIRMATION CODE A28
9 Alert g12134 CONFIRMATION CODE A27
5 g12136 CONFIRMATION CODE B02 - AMBER
15 **ERROR** no alert was registered
17 g12136 CONFIRMATION CODE B02 - AMBER
我整天都在网上搜索并阅读了很多模糊不清的文章,但我似乎无法获得任何代码来给我想要的结果。
任何提供解决方案的帮助将不胜感激(并阻止我发疯!!)
谢谢
对 str.contains()
使用布尔索引
df[df['from_data'].str.lower().str.contains('alert|amber')]
Id_No from_data
0 1 Alert g12134 CONFIRMATION CODE A27
1 1 ALERT g12134 CONFIRMATION CODE A28
3 5 g12136 CONFIRMATION CODE B02 - AMBER
5 6 g12136 CONFIRMATION CODE B02 - AMBER
6 9 Alert g12134 CONFIRMATION CODE A27
7 15 **ERROR** no alert was registered
8 17 g12136 CONFIRMATION CODE B02 - AMBER
新手 Python 用户在这里。
我有一个从 csv 文件导入的数据框,我需要从 from_data 列搜索 "Alert" 和 "Amber" 关键字(搜索上、下或组合两种情况)。
这是我名为 df 的数据框的内容:
Id_No from_data
1 Alert g12134 CONFIRMATION CODE A27
1 ALERT g12134 CONFIRMATION CODE A28
5 g12136 CONFIRMATION CODE B01 - RED
5 g12136 CONFIRMATION CODE B02 - AMBER
6 g12136 CONFIRMATION CODE B01 - RED
6 g12136 CONFIRMATION CODE B02 - AMBER
9 Alert g12134 CONFIRMATION CODE A27
15 **ERROR** no alert was registered
17 g12136 CONFIRMATION CODE B02 - AMBER
19 g12136 CONFIRMATION CODE B03 - GREEN
这是我想要的(在新数据框中):
id_no from_data
1 Alert g12134 CONFIRMATION CODE A27
1 ALERT g12134 CONFIRMATION CODE A28
9 Alert g12134 CONFIRMATION CODE A27
5 g12136 CONFIRMATION CODE B02 - AMBER
15 **ERROR** no alert was registered
17 g12136 CONFIRMATION CODE B02 - AMBER
我整天都在网上搜索并阅读了很多模糊不清的文章,但我似乎无法获得任何代码来给我想要的结果。
任何提供解决方案的帮助将不胜感激(并阻止我发疯!!)
谢谢
对 str.contains()
df[df['from_data'].str.lower().str.contains('alert|amber')]
Id_No from_data
0 1 Alert g12134 CONFIRMATION CODE A27
1 1 ALERT g12134 CONFIRMATION CODE A28
3 5 g12136 CONFIRMATION CODE B02 - AMBER
5 6 g12136 CONFIRMATION CODE B02 - AMBER
6 9 Alert g12134 CONFIRMATION CODE A27
7 15 **ERROR** no alert was registered
8 17 g12136 CONFIRMATION CODE B02 - AMBER