numpy的应用案例

来源:互联网 发布:asp交友源码 编辑:程序博客网 时间:2024/06/14 21:55

目录

    • 目录
    • python对象和ndarray的转换
      • 应用把list对象转换成多维矩阵ndarray
      • 应用2 把numpyndarray多维矩阵转换成list对象
    • 对ndarray对象进行切片操作
      • 应用取出张量的某个列数据
    • 使用numpy产生随机数据
      • 生成MN维度的矩阵
    • 参考资料

python对象和ndarray的转换

应用1,把list对象转换成多维矩阵(ndarray)

思路 调用numpy的asarray()方法。PS: 特别好记,as array 作为一个矩阵。

import numpy as np##把一个list对象转换成矩阵ll = [1,2,3]lla = np.asarray(ll) ##把一个list对象转换成一个多维矩阵(ndarray)lla ##查看输出结果array([1, 2, 3]) ##把一个嵌套list转换成多维矩阵ll=[[1,2],[2,3]]lla = np.asarray(ll) lla ##查看输出结果array([[1, 2],        [2, 3]])

应用2, 把numpy.ndarray多维矩阵转换成list对象

方法调用ndarray的tolist()函数, 详细参考[2]

import numpy as npllnd = np.asarray([1,3,4])ll = llnd.tolist() ##把向量转换listprint("type(ll):",type(ll))arraynd = np.asarray([[0., 0., 0.], [0., .5, 0.], [1., 1., .5], [0, 2.0, 3.0]])ll = arraynd.tolist()##把ndarray对象转换成list对象print("type(ll):",type(ll))

对ndarray对象进行切片操作

应用1,取出张量的某个列数据.

参考文献1多维矩阵操作
核心操作 是arrayName[:, i] 用来取出第i列数据。

def convertNdarray():    y_test = np.random.randint(2, size=(10, 1)) ## 0,1    print type(y_test), y_test    print "shape", y_test.shape    y = y_test[:, 0] ## 取第0列    print "type:", type(y)    print y

使用numpy产生随机数据

生成M*N维度的矩阵

import numpy as npX = 0.3 * np.random.randn(20, 2) ##生成20*2维度的矩阵,元素的值是个随机数vector = np.arange(4) ##生成长度为3的向量##{功能}生成一个向量,并将元素的值赋值为固定值,如5.##{函数}empty()a = np.empty(7, dtype=int) ##生成大小为7的向量,a[:] = 5 ##将向量的元素全部赋值为5.##{功能}生成一个矩阵,并将矩阵的元素赋值为固定值,如7.##{函数}full()np.full((3, 5), 7, dtype=int)

参考资料

  1. numpy的官方文档中多维矩阵操作 http://old.sebug.net/paper/books/scipydoc/numpy_intro.html#id3
  2. numpy.tolist() 的文档 https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.ndarray.tolist.html