首页 > 解决方案 > 如果列包含列表中的子字符串,则使用从列表中删除的子字符串创建新列

问题描述

我正在尝试创建一个简化的名称列。我有一个品牌名称列和一个字符串列表,如下所示。如果品牌名称列包含列表中的任何字符串,则创建一个简化的品牌名称列,并删除匹配的字符串。不包含列表中任何字符串的其他品牌名称列元素将被转移到简化列

l = ['co', 'ltd', 'company']

东风:

Brand
Nike
Adidas co
Apple company
Intel
Google ltd
Walmart co
Burger King

所需的df:

Brand                Simplified
Nike                   Nike
Adidas co             Adidas
Apple company          Apple
Intel                  Intel
Google Ltd             Google
Walmart co            Walmart
Burger King          Burger King

提前致谢!任何帮助表示赞赏!

标签: pythonpandasstring

解决方案


如何使用它来删除子字符串和尾随空格

list_substring = ['ltd', 'company', 'co'] # 'company' will be evaluated first before 'co'
df['Simplified'] = df['Brand'].str.replace('|'.join(list_substring), '').str.lstrip()

推荐阅读