我有這個資料框,我試圖洗掉所有一個單詞的回應,帶/不帶標點符號,前面也可能有空格。大多數值都是完整的長句,但請在下面找到我想要洗掉的型別。
| 柱子 |
|---|
| 謝謝 |
| 你好! |
| 真的.... |
我的嘗試
textonly = re.sub('^.\w \w .$' , " " , df.column)
錯誤(即使 dtype 是字串):預期的字串或類似位元組的物件
另一個似乎經歷了但沒有改變任何東西的嘗試:/
textonly = re.sub('^.\w \w .$' , " " , str(df.column))
請幫助確定我缺少什么
uj5u.com熱心網友回復:
您可以使用
df['column'] = df['column'].str.replace(r'^\W*\w \W*$', '', regex=True)
如果您用“詞”來表示自然語言詞,即僅由字母組成,您可以使用
df['column'] = df['column'].str.replace(r'^[\W\d_]*[^\W\d_] [\W\d_]*$', '', regex=True)
正則運算式匹配
^- 字串的開始\W*- 零個或多個非單詞字符[\W\d_]*- 零個或多個非單詞字符、數字和_\w- 一個或多個字字符[^\W\d_]- 一個或多個非單詞字符、數字和字符以外的字符_\W*- 零個或多個非單詞字符$- 字串的結尾。
uj5u.com熱心網友回復:
您也可以not使用正則運算式,然后檢查字串中是否有空格
x = [
'hej med dig',
'hej',
]
print([x for x in x if ' ' in x.strip()])
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/354307.html
