我正在尝试删除熊猫数据框的标点符号和数字。这是我的代码示例:
import re
import string
df.text = df.text.apply(lambda x: x.lower())
df.text = df.text.apply(lambda x: x.translate(None, string.punctuation))
它给我错误:
TypeError:translate()仅接受一个参数(给定2个参数)
我尝试在翻译中删除“无”,因此它变成:
df.text = df.text.apply(lambda x: x.translate(string.punctuation))
它没有给我任何错误,但是这段代码并没有删除我想要的标点符号。我正在使用python 2.7。你能帮助我吗 ?预先谢谢你
答案 0 :(得分:1)
您可以使用熊猫内置的Series.str.translate
:
In [1]: import pandas as pd
In [2]: df = pd.DataFrame({'text': ['f!!o..o!', 'b""a??r', 'b?.?a!.!z']})
In [3]: df
Out[3]:
text
0 f!!o..o!
1 b""a??r
2 b?.?a!.!z
In [4]: import string
In [5]: df.text = df.text.str.translate(None, string.punctuation)
In [6]: df
text
0 foo
1 bar
2 baz
答案 1 :(得分:0)
尝试使用python 2:
owner: ownerId,
make_trans函数使翻译表像字典一样(将键转换为值)