为了账号安全,请及时绑定邮箱和手机立即绑定

将文本处理步骤应用于熊猫数据框

将文本处理步骤应用于熊猫数据框

慕斯709654 2021-11-09 19:30:35
我有文本字符串,我正在使用以下字符串函数来清理它。现在我想缩放它并将其应用于数据帧。我面临的挑战是它不适用于数据框。我尝试申请 numpy 数组,但结果是空字符串。数据框是单列,具有与给定的行变量相似的字符串:                               00   Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US...1   Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/2...2   Mozilla/5.0 (iPod; U; CPU iPhone OS 4_1 like M...3   Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/201...4   Mozilla/4.0 (compatible; MSIE 7.0; Windows NT ...`` line = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; handyCafeCln/3.3.21)" re_print = re.compile('[^%s]' % re.escape(string.printable)) remove_digits = str.maketrans('', '', digits) remove_punc =str.maketrans('', '', string.punctuation) line = line.translate(remove_digits) line = line.translate(remove_punc) line = line.split()结果:['Mozilla'、'兼容'、'MSIE'、'Windows'、'NT'、'NET'、'CLR'、'handyCafeCln']我尝试在函数中打包相同的步骤,但无法将其应用于 datframe 并出现以下错误 Series' object has no attribute 'translatedef clean_pairs(lines):    re_print = re.compile('[^%s]' % re.escape(string.printable))    remove_digits = str.maketrans('', '', digits)    remove_punc =str.maketrans('', '', string.punctuation)    lines.translate(remove_digits)    lines.translate(remove_punc)    lines.split()df.apply(clean_pairs)
查看完整描述

1 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

def clean_pairs(lines):

    re_print = re.compile('[^%s]' % re.escape(string.printable))

    remove_digits = str.maketrans('', '', string.digits)

    remove_punc =str.maketrans('', '', string.punctuation)

    lines = lines.translate(remove_digits)

    lines = lines.translate(remove_punc)

    lines = lines.split()

    return lines


df = pd.DataFrame([line])

print(df[0].apply(clean_pairs))


查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信