• numpy常用技巧


    numpy.append(arr, values, axis=None)

    数据拼接

    注意是两个数据的拼接

    当不输入axis参数时,此时默认axis = None,两个array的shape可以不一样。否则会出错。

    当输入axis参数时,其所对应axis值的shape被拼在一起,而其他的shape值应当一样。

    此时两个array被拼接在了一起。

    再来一例子:

     可以看到是shape[2](不同部分)被拼接了,但shape[0]和shape[1](相同部分)没变

    numpy.concatenate((a1, a2, ...), axis=0, out=None)

    和numpy.append其实非常像,不过append只支持两个array的拼接,但concatenate支持多个array的拼接。

    参数格式的要求也不太一样,append中前两个参数为输入的array,但concatenate中第一个参数为一个tuple。axis的含义是类似的。

    另外concatenate不支持shape完全不同的array进行组合。

    直接对一个array进行concatenate也是可以的,这相当于将list转为tuple后输入。

    numpy.reshape(a, newshape, order='C')

    改变数据的shape

    第一个参数为array,第二个参数为新的shape

    reshape也可以作为array的成员函数来使用,只有newshape这个参数

    newshape中可以有一个dimension写成-1

    numpy.clip(a, a_min, a_max, out=None)

    取最大最小值

    输入数组a,依次对每个数进行最大最小值操作:a[i] = max(a[i], a_max); a[i] = min(a[i], a_min); 

    numpy.genfromtxt(fname, dtype=<class'float'>, delimiter=None, encoding='bytes', ......)

    从文件中读取数据

    dtype:数据类型

    delimiter:分隔符,默认情况下会以空白符为分隔

    会自动按矩阵的形式读入,文件中的一行对应矩阵中的一行

    例子一:

    例子二:

    文件:

    读取:

    numpy.ndarray.flatten(order='C')

    将数据变成一维

    numpy.power(x1, x2[, out])

    对数组element-wise地取平方

    x2可以是数,也可以是和x1shape一样的array

    如:

     

    numpy.nonzero(a)

    返回array中值为非0元素的下标

    如:

    注意:这里返回tuple中有两个array,第一个array表示非零元素的第一维,第二个array表示非零元素的第二维,例如[0,0]表示第一个非零元素1的下标

    求非0元素的值:

    按元素来表示,而不是按维度来表示:

    numpy.where(condition[, x, y])

    condition为矩阵时,为True用x中的元素,为False用y中的元素(此时condition,x,y三个array的shape相同)

    没有condition参数,默认情况下为numpy.nonzero()

    如:

    condition为矩阵时:

    没有condition参数的默认情况:

    同样没有condition参数,还可以直接加判断条件用:

  • 相关阅读:
    PHP IDE NetBeans代码主题和除掉竖线解决方案
    初识Python
    从LazyPhp说起
    从Pycharm说起
    准备系统地研究一下"高性能网站开发",挑战很大,希望能坚持到底!
    IIS日志分析[资源]
    见一好东西:Threaded WebDownload class with Progress Callbacks
    ASP.net Application 中使用域用户登录
    看图找错
    汉字转拼音缩写的函数(C#)
  • 原文地址:https://www.cnblogs.com/sbj123456789/p/9168308.html
Copyright © 2020-2023  润新知