zoukankan      html  css  js  c++  java
  • python3 numpy基本用法归纳总结

    安装numpy : pip install numpy

    numpy数组生成方法总结

    In [4]:
    import numpy as np
    

    #使用列表生成一个一维数组
    data = [1,2,3,4,5]
    x = np.array(data)
    print(x)
    print(x.dtype) #打印数组类型
    print(type(x))

    [1 2 3 4 5]
    int32
    <class 'numpy.ndarray'>
    In [6]:
    import numpy as np

    #使用列表生成一个二维数组
    data = [[1,2], [3,4], [5,6]]
    x = np.array(data)
    print(x)
    print(x.dtype)
    print(x.ndim) #打印数组维度
    print(x.shape) #打印数组各个维度的长度
    print(type(x))

    [[1 2]
    [3 4]
    [5 6]]
    int32
    2
    (3, 2)
    <class 'numpy.ndarray'>
    In [16]:
    import numpy as np

    #使用zeros创建一个长度为4, 元素为0的一维数组
    x = np.zeros(4)
    print(x)
    #创建一个二维数组, 一维长度为2, 二维长度为3, 元素为0的数组
    x = np.zeros((2,3))
    print(x)
    #使用ones创建一个二维数组, 一维长度为2, 二维长度为3, 元素为1的数组
    x = np.ones((2,3))
    print(x)
    #使用empty创建一个二维数组, 一维长度为3, 二维长度为3, 元素为初始化的数组
    y = np.empty((3,3))
    print(y)
    #使用arange生成连续元素
    a = np.arange(5)
    print(a)
    b = np.arange(1,5,2)
    print(b)

    [ 0.  0.  0.  0.]
    [[ 0. 0. 0.]
    [ 0. 0. 0.]]
    [[ 1. 1. 1.]
    [ 1. 1. 1.]]
    [[ 2.97907948e-317 2.69387831e-316 8.66647269e-317]
    [ 2.48185956e-315 2.48185956e-315 2.48185909e-315]
    [ 0.00000000e+000 0.00000000e+000 6.52072824e+091]]
    [0 1 2 3 4]
    [1 3]

    reshape用法:

    In [2]:
    import numpy as np

    #二维数组
    a = np.arange(10).reshape(2,5)
    print(a)
    print(" ")
    #三维数组
    a = np.arange(12).reshape(2,2,3)
    print(a)

    [[0 1 2 3 4]
    [5 6 7 8 9]]

    [[[ 0 1 2]
    [ 3 4 5]]

    [[ 6 7 8]
    [ 9 10 11]]]

    基本运算:

    数组的算术运算是按照元素的

    In [9]:
    import numpy as np

    a = np.array([30,40,50,60])
    b = np.arange(4)

    print(a)
    print(b)
    print(" a-b:")
    #俩个数据相减
    c = a - b
    print(c)
    print(" b2:")
    #b数组二次方
    print(b
    2)
    #比较
    print(" a<45:")
    print(a<45)

    [30 40 50 60]
    [0 1 2 3]

    a-b:
    [30 39 48 57]

    b**2:
    [0 1 4 9]

    a<45:
    [ True True False False]

    numpy中的*是按元素计算的, 如果矩阵乘法, 需要调用dot函数

    In [12]:
    import numpy as np

    a = np.array([
    [1, 2],
    [3, 4]
    ])

    b = np.array([
    [1,1],
    [0,4]
    ])

    #运算
    print("a
    b:")
    print(a*b)

    #dot运算
    print(" dot(a,b):")
    print(np.dot(a,b))

    a*b:
    [[ 1 2]
    [ 0 16]]

    dot(a,b):
    [[ 1 9]
    [ 3 19]]

    axis参数用法:

    In [19]:
    import numpy as np

    a = np.arange(12).reshape(2,2,3)
    print(a)
    print("计算第一维度和:")
    print(a.sum(axis=0))
    print("计算第二维度和:")
    print(a.sum(axis=1))
    print("计算第三维度和:")
    print(a.sum(axis=2))

    #说白了就是说计算第一维度的时候, 把2,3下标值一样的, 第一下标值不一样的加在一起, 重新生成一个数组, 以此类推

    [[[ 0  1  2]
    [ 3 4 5]]

    [[ 6 7 8]
    [ 9 10 11]]]
    计算第一维度和:
    [[ 6 8 10]
    [12 14 16]]
    计算第二维度和:
    [[ 3 5 7]
    [15 17 19]]
    计算第三维度和:
    [[ 3 12]
    [21 30]]

    In [20]:
    import numpy as np

    a = np.arange(12).reshape(3,4)

    print(a)

    print("找出第一维度的最小值:")
    print(a.min(axis=0))
    print("找出第二维度的最小值:")
    print(a.min(axis=1))

    [[ 0  1  2  3]
    [ 4 5 6 7]
    [ 8 9 10 11]]
    找出第一维度的最小值:
    [0 1 2 3]
    找出第二维度的最小值:
    [0 4 8]
    In [21]:
    import numpy as np

    a = np.arange(12).reshape(3,4)

    print(a)

    print("计算第一维度的累加值:")
    print(a.cumsum(axis=0))
    print("计算第二维度的累加值:")
    print(a.cumsum(axis=1))

    [[ 0  1  2  3]
    [ 4 5 6 7]
    [ 8 9 10 11]]
    计算第一维度的累加值:
    [[ 0 1 2 3]
    [ 4 6 8 10]
    [12 15 18 21]]
    计算第二维度的累加值:
    [[ 0 1 3 6]
    [ 4 9 15 22]
    [ 8 17 27 38]]

    通用函数用法:

    In [22]:
    import numpy as np

    a = np.arange(3)
    print(a)

    print(np.exp2(a)) #输出以2weidi

    [0 1 2]
    [ 1. 2. 4.]

  • 相关阅读:
    Unity The Method Signature Matching Rule
    Unity The Property Matching Rule
    Unity The Type Matching Rule
    Unity The Custom Attribute Matching Rule
    Unity The Member Name Matching Rule
    Unity No Policies
    Unity The Return Type Matching Rule
    Unity The Parameter Type Matching Rule
    Unity The Namespace Matching Rule
    关于TSQL递归查询的(转)
  • 原文地址:https://www.cnblogs.com/jpfss/p/9604494.html
Copyright © 2011-2022 走看看