• Python numpy


    NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)

    #!python2
    #-*-coding:utf-8-*-
    import numpy as np
    
    
    print np.version.version
    
    #numpy.ndarray
    #一维数组
    #list
    print np.array([1,2,3])
    [1 2 3]
    #tuple
    print np.array((1.1,1.2,1.3,2))
    [ 1.1  1.2  1.3  2. ]
    print type(np.array([1,2,3]))
    <type 'numpy.ndarray'>
    
    #二维数组
    
    print np.array([[1,2],[3,4]])
    
    [[1 2]
     [3 4]]
     
    #指定数据类型 numpy.int32, numpy.int16, and numpy.float64
    
    print np.array([1,2,3],dtype=np.int32)
    
    [1 2 3]
    
    #arange()
    
    print np.arange(15)
    [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]
    print type(np.arange(15))
    <type 'numpy.ndarray'>
    
    print np.arange(15).reshape(3,5)
    
    [[ 0  1  2  3  4]
     [ 5  6  7  8  9]
     [10 11 12 13 14]]
    
    #使用numpy.linspace
     
    print np.linspace(1,3,9)
    
    #使用numpy.zeros,numpy.ones,numpy.eye等方法可以构造特定的矩阵
    
    print np.zeros([3,4])
    print np.ones((4,4))
    print np.eye(5)
    
    #三维数组
    print np.zeros((2,2,3))
    
    #数组属性
    
    a=np.zeros((1,2,2))
    #数组的维数
    a.ndim
    #每一维度数组大小
    a.shape
    #数组的元素数
    a.size
    #元素类型
    a.dtype
    #每个元素所占字节数
    a.itemsize
    
    #数组索引,切片,赋值
    
    a=np.array([[1,2,3],[4,5,6]])
    
    print a[1,2]
    6
    print a[1,:]
    [4 5 6]
    print a[1,1:2]
    [5]
    a[1,:]=[7,8,9]
    
    for x in np.linspace(1,4,5):
        print x
        
    #基本运算
    
    a=np.ones((2,2))
    b=np.eye(2)
    
    print a>2
    
    print a+b
    print a-b
    print b*2
    print a*b
    print b/(a*2)
    print (a*2)**4
    
    a.sum()
    #计算每一列
    a.sum(axis=0)
    a.min()
    a.max()
    
    np.sin(a)
    np.max(a)
    np.floor(a)
    np.exp(a)
    #矩阵乘法
    np.dot(a,a)
    
    #合并
    
    print np.vstack((a,b))
    print np.hstack((a,b))
    
    
    #以上俩种方法没有涉及浅copy问题
    
    c=np.vstack((a,b))
    a[0,1]=5
    b[1,0]=3
    print a,b,c
    
    
    #数组对象的浅copy与深copy
    
    a=np.ones((2,2))
    a=b
    b is a
    True
    c=a.copy()
    c is a
    False
    
    #基本的矩阵运算
    
    #转秩
    
    a=np.array([[1,2],[3,4]])
    a.transpose()
    #迹 就是主对角元素之和
    np.trace(a)
     
    #numpy.linalg有很多关于矩阵运算
    
    import numpy.linalg as nplg
    #特征值,特征向量
    nplg.eig(a)

    下面link是个详细的参考

    http://blog.chinaunix.net/uid-21633169-id-4408596.html

  • 相关阅读:
    VC++60运行出结果后直接关闭窗口了
    求助MFC编程实现可视化
    多个do循环优化问题
    召唤大神这道题怎么就乱码了呢~~~
    HBASE 优化之REGIONSERVER
    HBASE SHELL 命令使用
    HBASE 基础命令总结
    HBASE基础知识总结
    2018年年终总结
    IMPALA部署和架构(一)
  • 原文地址:https://www.cnblogs.com/dadadechengzi/p/6646149.html
Copyright © 2020-2023  润新知