code: df['review'].head()
index review
output: 0 These flannel wipes are OK, but in my opinion
データフレームの列から句読点を削除して、新しい列を作成します。
code: import string
def remove_punctuations(text):
return text.translate(None,string.punctuation)
df["new_column"] = df['review'].apply(remove_punctuations)
Error:
return text.translate(None,string.punctuation)
AttributeError: 'float' object has no attribute 'translate'
私はpython 2.7を使用しています。提案があれば参考になります。
Pandas str.replace および正規表現を使用:
df["new_column"] = df['review'].str.replace('[^\w\s]','')
string
モジュールの句読点リストを使用して正規表現を作成できます。
df['review'].str.replace('[{}]'.format(string.punctuation), '')
String.punctuationをループすることで問題を解決しました
def remove_punctuations(text):
for punctuation in string.punctuation:
text = text.replace(punctuation, '')
return text
関数を呼び出したときと同じ方法で呼び出すことができ、機能するはずです。
df["new_column"] = df['review'].apply(remove_punctuations)