0
正規表現を使用してクリーンアップする必要がある電子メールで構成されたPandas Dataframeがあります。しかし、私の列をきれいにしようとする試みは、実際にテキストに適用されていません。正規表現がPandas Dataframeと連携していません
例のデータは、以下である:
|subeject | description |
---------------------------------------
|change email | 'Hi, I'm trying...|
|how are you? | 'Hi, how are... |
実際のデータセットが約2500行を有します。
私が使用しているサンプルコードは次のとおりです。
のPython 2.7を使用してiPythonのノートブックにこのコードを実行するdata = pd.read_csv('file.csv', names=['subject', 'description'])
data['description'] = data['description'].str.lower().str.split()
# Text cleaning below:
data['description'] = data['description'].replace(r'<(.*?)\>', '')
data['description'] = data['description'].replace(r'www[a-z]+', '')
... # more regex
私は正規表現が文を識別し、スペースに置き換えることを期待します。
ただし、実行すると説明のテキストは変更されません。
私は同じ結果と試みた別の方法は次のとおりです。しかし、私は削除されているテキストのどれと同じ結果を得た
for i in data['description']:
re.sub(r'<(.*?)\>', '', i)
re.sub(r'www[a-z]+', '', i)
。
私に正しい方向にアドバイスしてもらえますか?
あなたの第二のアプローチは、ほとんどが正しいです。 Pythonの文字列は不変なので、各置換の結果を取得する必要があります: 'i = re.sub(r" ... "、 ''、i)'など – alexis