用 python 给数据打标签,500 万条数据怎样提高效率?
ringa_lee
ringa_lee 2017-04-17 16:52:14
0
4
498
ringa_lee
ringa_lee

ringa_lee

모든 응답 (4)
迷茫

所以说你真的就把pandas 当读取数据的工具了吗..

增加了一列is_tobacco 作为你说的标记

filter_query 返回含有这些词的列表 效率有一定提升

其次你可以分割后用 multiprocessing 执行 这个加速起来不止一点半点

import pandas as pd word = pd.read_table('test.txt', encoding = 'utf-8', names = ['query']) def signquery(word): tobacco = [u'烟', u'白沙', u'黄金叶', u'利群', u'南京九五', u'黄鹤楼软', u'黄鹤楼硬', u'娇子', u'钻石荷花', u'玉溪', u'七匹狼尚品', u'七匹狼软灰'] word['is_tobacco'] = word['query'].apply(lambda name:name in tobacco) return word def filter_query(word): tobacco = [u'烟', u'白沙', u'黄金叶', u'利群', u'南京九五', u'黄鹤楼软', u'黄鹤楼硬', u'娇子', u'钻石荷花', u'玉溪', u'七匹狼尚品', u'七匹狼软灰'] return word[word['query'].apply(lambda name:name in tobacco)]['query'].to_dict().values() result = filter_query(word) print result
    刘奇

    可以尝试用正则:

    import re pattern = re.compile(u'烟|白沙|黄金叶|利群|南京九五|黄鹤楼软|黄鹤楼硬|娇子|钻石荷花|玉溪|七匹狼尚品|七匹狼软灰') result = filter(pattern.search, word['query'])
      左手右手慢动作

      KMP 算法

        Peter_Zhu

        KMP
        Manacher
        TireTree

          최신 다운로드
          더>
          웹 효과
          웹사이트 소스 코드
          웹사이트 자료
          프론트엔드 템플릿
          회사 소개 부인 성명 Sitemap
          PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!