• numpy 一些知识


    import numpy as np

    什么类型的相加,返回的还是什么类型的,所以在累加小类型的数值时会出现问题如下:

    a=np.array([123,232,221], dtype=np.uint8)

    a[0]+a[1]+a[2]  返回的和就是错误的,因为和超出了255,返回的和的类型为uint8,所以结果是错误的,

    这个要小心,

    需要把a的类型进行变换,a=np.int32(a),就不会出现上面的问题了。

    • np.zeros() 等自己创建的数组,类型为float64,是默认的,可以在创建时制定类型。

    np.zeros(4, dtype=np.uint8)

    np.zeros((3,4), dtype=np.int16)

    • np.linspace(a,b,c, endpoint=True)  创建从a到b的等差序列,包含c个元素,包含a和b(如果endpoint=True)。默认为True
    • 三维数组排列(2,3,4)

    是第一页,再第二页,每页里是行,列排放。

    (6,2,3,4,5)五维的数据的话六个桌子排成排,每个桌子上有两本书,每本书有三页,每页上有4行5列数字。

    • 运算

    a*b 是elementwise product 元素对元素操作

    a.dot(b)  或者 np.dot(a,b) 是 matrix product 矩阵运算

    • 随机数

    np.random.random(5)   或者np.random.random((3,4))   生成随机数字的数组,都是小于1的。

    a.min() , a.max() , a.sum()   最小,最大,元素求和

    可以求出每一的最大或者最小或者和,a.min(axis=1), a.max(axis=1), a.sum(axis=1) ,每一的话用axis=0

    • python里面平方用**表示, 如2**3=8

    for  i in a:

          print(i)

    时是按照第一个维度来的,如果是三维,i就是一页一页的,如果是二维的,i就是一行一行的.

    • 引用时的区别

    a为一个二维数组,如果a[:,1:2] 得到的是一个n行1列的二维数组,但是a[:, 1]得到的是一个n个元素的一维数组

    数组的拼接

    np.concatenate((a,b), 0) 是把数组a和b按照前后顺序连起来拼接,

    np.concatenate((a,b),1) 是把数组a和b对应的行拼接起来

    例如a=[[1,2],

        [3,4]]

      b=[[5,6],

        [7,8]]

    那么np.concatenate((a,b),1)  就等于

      [ [1,2,5,6],

       [3,4,7,8] ]

      np.concatenate((a,b), 0)就等于

      【【1,2】,

        【3,4】,

        【5,6】,

        【7,8】】

  • 相关阅读:
    ubuntu 12.04 mysql转移目录后 无法 启动
    thinkphp 缓存写入失败,网站报错
    python 访问php程序,实现定时
    Linux下通过软链接转移mysql目录,解决分区空间不足(转)
    nginx 自定义代理返回 404
    discuz xplus 模板 没解析的问题
    svn 日志 offline 错误
    nginx 代理 proxy_pass设置
    discuz注册 内部错误
    centos 不支持mysql
  • 原文地址:https://www.cnblogs.com/beforeluck-shang/p/8640187.html
Copyright © 2020-2023  润新知