zoukankan      html  css  js  c++  java
  • numpy

    1.numpy常用函数

    1.random

    import numpy as np
    np.random.random((3,3))
    
    array([[ 0.29870525,  0.46127543,  0.11524519],
           [ 0.83500081,  0.62489366,  0.48149446],
           [ 0.00748799,  0.32096626,  0.91338608]])
    

    2.arange 和 reshape

    a=np.arange(2,20,2).reshape(3,3)
    print(a)
    b=np.arange(1,5,0.7).reshape(2,3)
    print(b)
    
    [[ 2  4  6]
     [ 8 10 12]
     [14 16 18]]
    [[ 1.   1.7  2.4]
     [ 3.1  3.8  4.5]]
    

    3.ndim dtype  size

    print (a.ndim)
    # the type of the value
    print (a.dtype.name)
    # the total number of elements of the array
    print (a.size)
    
    2
    int32
    9
    

    4.linspace

    np_linespace=np.linspace(1,50,100)
    print(np_linespace)
    
    [  1.           1.49494949   1.98989899   2.48484848   2.97979798
       3.47474747   3.96969697   4.46464646   4.95959596   5.45454545
       5.94949495   6.44444444   6.93939394   7.43434343   7.92929293
       8.42424242   8.91919192   9.41414141   9.90909091  10.4040404
      10.8989899   11.39393939  11.88888889  12.38383838  12.87878788
      13.37373737  13.86868687  14.36363636  14.85858586  15.35353535
      15.84848485  16.34343434  16.83838384  17.33333333  17.82828283
      18.32323232  18.81818182  19.31313131  19.80808081  20.3030303
      20.7979798   21.29292929  21.78787879  22.28282828  22.77777778
      23.27272727  23.76767677  24.26262626  24.75757576  25.25252525
      25.74747475  26.24242424  26.73737374  27.23232323  27.72727273
      28.22222222  28.71717172  29.21212121  29.70707071  30.2020202
      30.6969697   31.19191919  31.68686869  32.18181818  32.67676768
      33.17171717  33.66666667  34.16161616  34.65656566  35.15151515
      35.64646465  36.14141414  36.63636364  37.13131313  37.62626263
      38.12121212  38.61616162  39.11111111  39.60606061  40.1010101
      40.5959596   41.09090909  41.58585859  42.08080808  42.57575758
      43.07070707  43.56565657  44.06060606  44.55555556  45.05050505
      45.54545455  46.04040404  46.53535354  47.03030303  47.52525253
      48.02020202  48.51515152  49.01010101  49.50505051  50.        ]
    

    5.dot

    第一个数=第一行*第一列

    np_dot1=np.array([[1,2],[3,4]])
    print(np_dot1)
    np_dot2=np.array([[1,1],[0,1]])
    print(np_dot2)
    print(np.dot(np_dot1,np_dot2))
    #[[1*1+2*0 1*1+2*1]
    #[3*1+4*0 3*1+4*1]]
    
    [[1 2]
     [3 4]]
    [[1 1]
     [0 1]]
    [[1 3]
     [3 7]]
    
    import numpy as np

    x = np.array([[1,2],[3,4]])
    y = np.array([[5,6],[7,8]])

    v = np.array([9,10])
    w = np.array([11, 12])

    # Inner product of vectors; both produce 219
    print (v.dot(w))
    print (np.dot(v, w))

    # Matrix / vector product; both produce the rank 1 array [29 67]
    print (x.dot(v))
    print (np.dot(x, v))

    print(v.dot(x))

    # Matrix / matrix product; both produce the rank 2 array
    # [[19 22]
    # [43 50]]
    print (x.dot(y))
    print (np.dot(x, y))
    -------------------------------------------------------

    219
    219
    [29 67]
    [29 67]
    [39 58]
    [[19 22]
    [43 50]]
    [[19 22]
    [43 50]]

      问题1.x.dot(v)是怎么算的? v.dot(x)是怎么算的

        答:  

     2.常用操作

    1.e的n次方

    np_e=np.array([[1,2],
             [3,4]])
    print(np.exp(np_e))
    #e的n次方
    
    [[  2.71828183   7.3890561 ]
     [ 20.08553692  54.59815003]]
    

    2.floor

    np_floor=10*np.random.random((3,4))
    print(np.floor(np_floor))
    
    [[ 6.  4.  1.  4.]
     [ 9.  4.  1.  4.]
     [ 7.  6.  6.  0.]]
    

    3.ravel  

    print(np.ravel(np_floor))
    
    [ 6.6650322   4.55285191  1.08112183  4.78423965  9.07002475  4.88373098
      1.84273175  4.94375497  7.53521955  6.4163809   6.26857371  0.06157525]
    

    4.reshape(n,-1)

    print(np_floor.reshape(3,-1))
    #if a dimension is given as -1 in a reshaping operation ,the other dimentions are automatically calculated
    
    [[ 6.6650322   4.55285191  1.08112183  4.78423965]
     [ 9.07002475  4.88373098  1.84273175  4.94375497]
     [ 7.53521955  6.4163809   6.26857371  0.06157525]]
    

    5.hstack(()) 

    np_hs1=np.floor(10*np.random.random((2,2)))
    print(np_hs1)
    np_hs2=np.floor(10*np.random.random((2,2)))
    print(np_hs2)
    print(np.hstack((np_hs1,np_hs2)))
    
    [[ 4.  5.]
     [ 9.  1.]]
    [[ 9.  9.]
     [ 9.  9.]]
    [[ 4.  5.  9.  9.]
     [ 9.  1.  9.  9.]]
    

    6.vstack

    np_hs1=np.floor(10*np.random.random((2,2)))
    print(np_hs1)
    np_hs2=np.floor(10*np.random.random((2,2)))
    print(np_hs2)
    print(np.vstack((np_hs1,np_hs2)))
    
    [[ 0.  5.]
     [ 3.  9.]]
    [[ 7.  6.]
     [ 4.  2.]]
    [[ 0.  5.]
     [ 3.  9.]
     [ 7.  6.]
     [ 4.  2.]]
    

    7.view 浅复制, copy 深复制

     

     

      

  • 相关阅读:
    自定义Visual Studio调试器中的对象显示方式
    Visual Studio中的主题定制变得更加容易
    宣布Visual Studio Code Installer for Java
    在Visual Studio 2019中开启预览功能
    .NET Core 3.0预览版7中的ASP.NET Core和Blazor更新
    C#连接SQL Anywhere 12 数据库
    数据库导出脚本
    python http请求及多线程应用
    记录 Ext 日历月份选择控件bug解决过程结果
    js浮点数运算封装, 起因财务部分精确计算
  • 原文地址:https://www.cnblogs.com/jycjy/p/8079333.html
Copyright © 2011-2022 走看看