我有以下串列:
pre = ["unable to", "would not", "was not", "did not", "there is not", "could not", "failed to"]
從資料框列中,我想查找具有串列單詞的文本,以便生成一個新列,該列可以列印這些單詞以及下一個單詞,例如,在列單元格中有以下文本WOULD NOT PRIME CORRECTLY DURING VIRECTOMY.,我想要一個新的列列印以下內容:WOULD NOT PRIME。
我嘗試過這樣的事情
def matcher(Event_Description):
for i in pre:
if i in Event_Description:
return i 1
return "Not found"
uj5u.com熱心網友回復:
您可以遍歷串列中的每個前綴并使用 . 檢查前綴.find()。如果找到,您可以將前綴更改為大小寫event并附加下一個單詞。像這樣:
def matcher(event):
pres = ["unable to", "would not", "was not", "did not", "there is not", "could not", "failed to"]
for pre in pres:
i = event.lower().find(pre)
if i != -1:
return ' '.join([pre.upper() if event.isupper() else pre, *event[i len(pre) 1:].split(' ')[0]])
return "Not found"
如果要包含接下來的兩個單詞,只需更改此行:
return ' '.join([pre.upper() if event.isupper() else pre, *event[i len(pre) 1:].split(' ')[0]])
像這樣的切片:
return ' '.join([pre.upper() if event.isupper() else pre, *event[i len(pre) 1:].split(' ')[0:2]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/524454.html
上一篇:用另一個R替換向量的內容
