我有一个包含某些句子的数据框,例如df:
import pandas as pd
df = pd.DataFrame([['how are you', 1], ['this is a random text', 1]], columns=('body', 'ticketID'))
list = df['body'].tolist()
现在我正在寻找一种最有效的方法来检查字符串是否包含子串(列表中的项)。所以如果我们有这个例子
somestring1 = "this is a random text in a book"
somestring2 = "this text contains an error"
功能应该是
def getRidOfSentencePart():
#//
getRidOfSentencePart(somestring1)应该在书中评估"" 和getRidOfSentencePart(somestring1)应该评估为"此文本包含错误"
有关如何以最有效的方式对此进行编程的任何想法?
答案 0 :(得分:1)
如果你想" cut"从您从另一个给定字符串的数据框中提取的列表中的所有字符串,您只需迭代列表并替换为空字符串。
def getRidOfSentencePart(somestring):
for i in dflist:
somestring = somestring.replace(i, '')
return somestring
如果要在第一个和最后一个位置修剪空格,可以改为return somestring.strip()
。虽然看起来非常简单,但我无法报告这种方法的效率。