numpy的应用案例

目录

    • 目录
    • 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 np
llnd = np.asarray([1,3,4])
ll = llnd.tolist() ##把向量转换list
print("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 np
X = 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

你可能感兴趣的:(python,numpy,numpy,python,应用)