毕设知识点总结——part1.分词

    xiaoxiao2021-03-25  94

    Sequence类型 Sequence是Python的一种内置类型(built-in type),内置类型就是构建在Python Interpreter里面的类型,三种基本的Sequence Type是list(表),tuple(定值表,或翻译为元组),range(范围)。可以看作是Python Interpreter定义了这样三个class。 字符串也是一种序列。

    RuntimeError: NLPIR function ‘NLPIR_Init’ failed. 说明 pynlpir的library的授权过期了解决方法 可到github上下载新的授权:https://github.com/NLPIR-team/NLPIR/tree/master/License,并将新的授权放到data文件夹下,并重启项目,再次测试分词程序,分词成功。 我用到的是分词的功能,提供分词的license for a month 一个月的有效期,如果失效再去网上下载新的授权覆盖源文件即可 NLPIR.user 注意一定要用正确的方式下载!

    pynlpir, nlpir 的python端接口, 通过python 使用nlpir / ictclas 2015 如果有pip 的话,直接pip install pynlpir #最新版本在4.0 项目地址在https://github.com/tsroten/pynlpir;

    有时候list index out of range的意思不是列表存不下了,是对应列表的编号不存在而已

    定义了空列表后不能对其索引 ,如: content = [] for i in range(1,3): content[i] = table.cell(i, 5) #会报错 在python2.7下,将字符串写入到文件时会出现”UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xa0’ in position”的错误,原因是由于python基于ASCII处理字符的,当出现不属于ASCII的字符时,会出现错误信息。 解决: 指定文件字符集为utf-8 在文件头部加入以下代码: import sys reload(sys) sys.setdefaultencoding('utf-8') Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。 语法 strip()方法语法: str.strip([chars]);dict.items()方法返回字典的(键,值)元组对的列表python中的os.path.join()是在拼接路径的时候用的 os.path.join(“home”, "me", "mywork") 在Linux系统上会返回 “home/me/mywork" 在Windows系统上会返回 "home\me\mywork" 好处是可以根据系统自动选择正确的路径分隔符”/”或”\” docs_matrix.shape[1] 读取二维矩阵docs_matrix的第二维度Docs_matrix= [[ 0. 0. 0. ..., 0. 0. 0.] [ 0. 1. 0. ..., 13. 0. 0.] [ 0. 0. 4. ..., 0. 0. 2.] [ 0. 0. 0. ..., 0. 0. 0.] [ 1. 0. 0. ..., 0. 0. 0.]] 则 docs_matrix[:,2] =[ 0. 0. 0. 4. 0. 0.] 相当于第三列np.nonzero(docs_matrix[:, 2]) (array([3], dtype=int64),) nonzeros(a)返回数组a中值不为零的元素的下标,本例中为第四行第三列的元素4的列的下标,它的返回值是一个长度为a.ndim(数组a的轴数)的元组,元组的每个元素都是一个整数数组,其值为非零元素的下标在对应轴上的值。 所以np.nonzero(docs_matrix[:, 2])[0]即为第3列不为零的元素的下标 len(np.nonzero(docs_matrix[:, i])[0])即为第i列中不为零的元素的个数

    `column_sum = [float(len(np.nonzero(docs_matrix[:, i])[0])) for i in range(docs_matrix.shape[1])]

    x = [1 for i in range(n)]` 是n个1组成的列表 [1,1,…] 和 x = [1] * n 一个效果

    所以column_sum = [float(len(np.nonzero(docs_matrix[:, i])[0])) for i in range(docs_matrix.shape[1])]为每列不为零的元素的个数组成的列表


    Python中的join()函数的用法

    函数:string.join()

    Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回

    一、函数说明 1、join()函数

    语法: ‘sep’.join(seq)

    参数说明 sep:分隔符。可以为空 seq:要连接的元素序列、字符串、元组、字典 上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

    返回值:返回一个以分隔符sep连接各个元素后生成的字符串

    2、os.path.join()函数

    语法: os.path.join(path1[,path2[,……]])

    返回值:将多个路径组合后返回

    注:第一个绝对路径之前的参数将被忽略

    #对序列进行操作(分别使用' '与':'作为分隔符) >>> seq1 = ['hello','good','boy','doiido'] >>> print ' '.join(seq1) hello good boy doiido >>> print ':'.join(seq1) hello:good:boy:doiido #对字符串进行操作 >>> seq2 = "hello good boy doiido" >>> print ':'.join(seq2) h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o #对元组进行操作 >>> seq3 = ('hello','good','boy','doiido') >>> print ':'.join(seq3) hello:good:boy:doiido #对字典进行操作 >>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4} >>> print ':'.join(seq4) boy:good:doiido:hello #合并目录 >>> import os >>> os.path.join('/hello/','good/boy/','doiido') '/hello/good/boy/doiido'

    python模块之codecs: 自然语言编码转换

    #-*- encoding: gb2312 -*- import codecs, sys # 用codecs提供的open方法来指定打开的文件的语言编码,它会在读取的时候自动转换为内部unicode bfile = codecs.open("dddd.txt", 'r', "big5") #bfile = open("dddd.txt", 'r') ss = bfile.read() bfile.close() # 输出,这个时候看到的就是转换后的结果。如果使用语言内建的open函数来打开文件,这里看到的必定是乱码 print ss, type(ss)

    两种读取txt文件有多少行的办法:

    f = open('stopwords.txt','r') lines = f.readlines() f.close() n=0 for line in lines: n = n+1 print(n)

    或者

    count = len(open(r"stopwords.txt",'rU').readlines()) print count

    (适用于文件比较小时) 或者

    count1 = -1 for count1, line in enumerate(open(r"stopwords.txt", 'rU')): pass count1 += 1 print count1

    (适用于文件比较大) 或者

    count1 = 0 thefile = open(r"stopwords.txt", 'rb') while True: buffer = thefile.read(1024 * 8192) if not buffer: break count1 += buffer.count('\n') thefile.close() print count1

    (更好的办法)

    python排序 sorted(key=lambda)

    转载请注明原文地址: https://ju.6miu.com/read-24654.html

    最新回复(0)