我试图通过执行以下操作从数据框中的col中删除标点符号:
def remove_punctuation(text):
return text.translate(table)
df['data'] = df['data'].map(lambda x: remove_punctuation(x))
但是我收到以下错误:
'浮动'对象没有属性'翻译'
我在这里检查了col的dtype:
from pandas.api.types import is_string_dtype
is_string_dtype(df['data'])
并获得以下输出:
真
我不确定这里出了什么问题?
我也尝试过以下方法: translator = str.maketrans('','',string.punctuation)
def remove_punctuation(text):
return text.translate(translator)
df['data'] = df['data'].map(lambda x: remove_punctuation(x))
但我仍然遇到同样的错误
答案 0 :(得分:0)
您的df ['data']具有NaN个元素。type(np.nan)
是浮点型的。因此,在删除标点符号时,您会收到错误消息“'float'对象没有属性'translate'”。要解决此问题,您可以
df['data'] = df.fillna({'data':''})
用空字符串填充NaN值。照顾好熊猫系列中的NaN元素后,就可以使用地图功能删除标点符号了。
希望这会有所帮助!