删除python中的括号及其内容
我使用lstm方法实现了一个情绪分析分类。我已经训练了我的模型并保存了它。我已经加载了列车模型,我正在做分类部分,在那里我将它保存在一个数据帧中。我需要删除括号及其内容,我将在下面向您展示 这是我的密码:删除python中的括号及其内容,python,pandas,data-cleaning,preprocessor,Python,Pandas,Data Cleaning,Preprocessor,我使用lstm方法实现了一个情绪分析分类。我已经训练了我的模型并保存了它。我已经加载了列车模型,我正在做分类部分,在那里我将它保存在一个数据帧中。我需要删除括号及其内容,我将在下面向您展示 这是我的密码: hotelname = [] sentimentanalysis = [] for item in selection1: name = item['name'] hotelname.append(name) print (name) 结果如下: Mystik L
hotelname = []
sentimentanalysis = []
for item in selection1:
name = item['name']
hotelname.append(name)
print (name)
结果如下:
Mystik Lifestyle (Save 34%)
Chalets Chamarel (Adults Only)
Andrea Lodge (Save 18%)
Hibiscus Beach Resort & Spa (Save 18%)
Lagoon Attitude (Adults Only)
Ocean V Hotel (Adults Only)
但我希望我的输出是这样的::
Mystik Lifestyle
Chalets Chamarel
Andrea Lodge
Hibiscus Beach Resort & Spa
Lagoon Attitude
Ocean V Hotel
有人能告诉我我需要在代码中添加什么吗伙计们。你们可以使用
re
模块实现以下目的:
import re
def clean(n):
return re.sub(r'\s\(.*\)','',n)
然后:
而不是
name = item['name']
请注意,我使用所谓的原始字符串作为re.sub的第一个参数,并删除括号及其内容之前的空白(\s
)。请注意,(
和)
需要转义,因为它们在模式中具有特殊意义(因此导致反斜杠)
编辑:
li = ['Mystik Lifestyle (Save 34%)',
'Chalets Chamarel (Adults Only)',
'Andrea Lodge (Save 18%)',
'Hibiscus Beach Resort & Spa (Save 18%)',
'Lagoon Attitude (Adults Only)',
'Ocean V Hotel (Adults Only)']
for i in li:
cleaned_text = remove_bracket(i)
print(cleaned_text)
Mystik Lifestyle
Chalets Chamarel
Andrea Lodge
Hibiscus Beach Resort & Spa
Lagoon Attitude
Ocean V Hotel
输出:
li = ['Mystik Lifestyle (Save 34%)',
'Chalets Chamarel (Adults Only)',
'Andrea Lodge (Save 18%)',
'Hibiscus Beach Resort & Spa (Save 18%)',
'Lagoon Attitude (Adults Only)',
'Ocean V Hotel (Adults Only)']
for i in li:
cleaned_text = remove_bracket(i)
print(cleaned_text)
Mystik Lifestyle
Chalets Chamarel
Andrea Lodge
Hibiscus Beach Resort & Spa
Lagoon Attitude
Ocean V Hotel
您可以使用名为.split()的简单字符串方法
请看下面的代码:
elements = ['Mystik Lifestyle (Save 34%)',
'Chalets Chamarel (Adults Only)',
'Andrea Lodge (Save 18%)',
'Hibiscus Beach Resort & Spa (Save 18%)',
'Lagoon Attitude (Adults Only)',
'Ocean V Hotel (Adults Only)']
for element in elements:
without_text_after_unwanted_character = element.split('(')[0]
# This will get everything before the '(' as we splitted
print(without_text_after_unwanted_character)
# If you want to create a new list the new values, you can do:
clean_list = [x.split('(')[0] for x in elements]
for clean_text in clean_list:
print(clean_text)
您可以尝试以下代码:
hotelname = []
sentimentanalysis = []
for item in selection1:
name = item['name'].split('(')[0].strip()
hotelname.append(name)
print (name)
一种方法是用“(”分开,然后取第一个元素(如果有的话),我不明白,女士。你能解释一下吗?还是一样的先生还是一样的Madamp打印你的酒店名称,直到同一个Madamp请与我们分享屏幕快照。
hotelname = []
sentimentanalysis = []
for item in selection1:
name = item['name'].split('(')[0].strip()
hotelname.append(name)
print (name)