zoukankan      html  css  js  c++  java
  • Python扩展库NumPy快速入门

    NumPy(Numerical Python)是Python一个扩充库。支持维度数组与矩阵运算,提供大量的数学函数库。

    ndarray类 :NumPy中的数组类被称为ndarray

    属性:

    ndarray.ndim表示数组的维度。

    ndarray.shape是一个整型tuple,用来表示数组中的每个维度的大小。例如,一个n行和m列的矩阵,其shape为(n,m)。

    ndarray.size表示数组中元素的个数,其值等于shape中所有整数的乘积

    ndarray.dtype用来描述数组中元素的类型

    ndarray.itemsize用于表示数组中每个元素的字节大小 

    import numpy as np
    a=np.arange(10).reshape(2,5)
    a
    array([[0, 1, 2, 3, 4],
           [5, 6, 7, 8, 9]])
    注意:size=n*m 否则会报错
    a.shape (
    2, 5) a.ndim 2 a.size 10 a.dtype dtype('int32') a.itemsize 4

    数组创建

    直接使用list或者tuple
    import numpy as np a = np.array([1,2,3,4,5,6]) b = np.array((1,2,3,4,5,6)) a array([1, 2, 3, 4, 5, 6]) b array([1, 2, 3, 4, 5, 6])
    传入的参数必须是同一结构,不是同一结构将发生转换

     NumPy还提供了便捷地创建特定数组的方式

       a=np.zeros((3,3))  

    array([[0., 0., 0.],
           [0., 0., 0.],
           [0., 0., 0.]])
    

     a=np.ones([2,4])

    array([[1., 1., 1., 1.],
           [1., 1., 1., 1.]])
    

     c = np.arange(15)

    array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])
    

    e=np.arange(15).reshape(5,3)

    array([[ 0,  1,  2],
           [ 3,  4,  5],
           [ 6,  7,  8],
           [ 9, 10, 11],
           [12, 13, 14]])
    
    g = np.arange(0,15,3)
    array([ 0,  3,  6,  9, 12])
    

     h = np.arange(0,3,0.4)

    array([0. , 0.4, 0.8, 1.2, 1.6, 2. , 2.4, 2.8])
    

     数组的基本操作(加减乘除

       相对应的位置进行加减乘除,这一块很简单,就不多做介绍

      在NumPy中,*用于数组间元素对应的乘法,而不是矩阵乘法,矩阵乘法可以用dot()方法来实现 

    a=np.array([[1,2],[4,5]])
    b=np.array([[0,1],[0,1]])
    a
    array([[1, 2],
           [4, 5]])
    b
    array([[0, 1],
           [0, 1]])
    a*b
    array([[0, 2],
           [0, 5]])
    a.dot(b)
    array([[0, 3],
           [0, 9]])
    

     矩阵乘积小结:

    1. 只有当第一个矩阵的列数等于第二个矩阵的行数,两个矩阵才能相乘

    2.矩阵相乘不满足交换律,AB!=BA

    3.矩阵相乘不满足消去率,例如:AB=AC 且A!=0 不能推出B=C

    ndarray类实现了许多操作数组的一元方法,如求和、求最大值、求最小值等。

     a = np.random.random((2,3))
    求和:a.sum() 

    最小值:a.min()
    最大值:a.max()
    axis = 0表示列操作
    axis = 1表示行操作
     
     
     

     


  • 相关阅读:
    什么是微服务架构?
    docker 安装 mongo he SCRAM_SHA_1 authentication mechanism requires libmongoc built with ENABLE_SSL
    好用的JsonView插件
    新建vmware虚拟机无法访问网络
    安装Docker到CentOS(YUM)
    CentOS7下安装MySQL5.7安装与配置
    mongodb 阿里云centos7安装
    JS数组
    前端基本知识
    JS算法
  • 原文地址:https://www.cnblogs.com/wookong/p/11236552.html
Copyright © 2011-2022 走看看