美文网首页我爱编程
python | nuts and bolts

python | nuts and bolts

作者: 毛君 | 来源:发表于2018-02-06 14:38 被阅读0次

    IPython有一组预先定义好的所谓的魔法函数(Magic Functions),你可以通过命令行的语法形式来访问它们。

    magic函数分两种:一种是面向行的,另一种是面向单元型的。
    • 行magic函数是用前缀“%”标注的,很像我们在系统中使用命令行时的形式,例如在Mac中就是你的用户名后面跟着“$”。“%”后面就是magic函数的参数了,但是它的参数是没有被写在括号或者引号中来传值的。
    • 单元型magic函数是由两个“%%”做前缀的,它的参数不仅是当前“%%”行后面的内容,也包括了在当前行以下的行。

    myfont = matplotlib.font_manager.FontProperties(fname=r'C:/Windows/Fonts/msyh.ttf')

    关于字体可以这样操作
    PyCharm是一种Python IDE
    Numpy提供了几种数据保存的方法
    • 以3*4数组a为例:
      a.tofile("filename.bin")
      这种方法只能保存为二进制文件, 这种保存方法对数据读取有要求,需要手动指定读出来的数据的的dtype,如果指定的格式与保存时的不一致,则读出来的就是错误的数据。
      b = numpy.fromfile("filename.bin",dtype = **)
      读出来的数据是一维数组,需要利用b.shape = 3,4重新指定维数。
    • numpy.save("filename.npy",a)
      利用这种方法,保存文件的后缀名字一定会被置为.npy,这种格式最好只用numpy.load("filename")来读取。
    • numpy.savetxt("filename.txt",a)
      b = numpy.loadtxt("filename.txt")
    字符串前的u r b

    b'NORMAL' 反正在这个例子中要记得加上

        labels = [b'NO', b'DH', b'SL']
        data = np.loadtxt('column_3C.dat', converters={6: lambda s: labels.index(s)} )
    
    • b表示byte:python3.x里默认的str是(py2.x里的)unicode, bytes是(py2.x)的str, b”“前缀代表的就是bytes 。python2.x里, b前缀没什么具体意义, 只是为了兼容python3.x的这种写法
    • u/U:表示unicode字符串:一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u;但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码。 建议所有编码方式采用utf8
    • r/R:非转义的原始字符串:即如果是“\n”那么表示一个反斜杠字符,一个字母n,而不是表示换行了。 以r开头的字符,常用于正则表达式,对应着re模块。
    一种分块选取数据的方法,通过 list[range(a,b)]
      # Divide into training and test set
      training_indices = list(range(0,20)) + list(range(40,188)) + list(range(230,310))
      test_indices = list(range(20,40)) + list(range(188,230))
    
      trainx = x[training_indices,:]
      trainy = y[training_indices]
      testx = x[test_indices,:]
      testy = y[test_indices]
    
    np.random.permutation(x) 随机重排
    • If x is an integer, randomly permute np.arange(x).

        >>> np.random.permutation(10)
        array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])
      
    • If x is an array, make a copy* and shuffle the elements randomly.

    • 应用举例

        perm = np.random.permutation(178)
        trainx = data[perm[0:130],1:14]
      
    GUI 输入数值

    @interact_manual( feature=IntSlider(2,0,12), label=IntSlider(1,1,3))
    第一个是initial value,第二三个是range

    相关文章

      网友评论

        本文标题:python | nuts and bolts

        本文链接:https://www.haomeiwen.com/subject/ocygzxtx.html