• numpy常用方法总结


    这里写自定义目录标题

    • 前言
    • 具体函数:
      • np.zeros()
      • np.sum()
      • np.reshape()
      • np中的转置函数

    前言

    机器学习中会经常使用numpy下的函数,需要明确方法的功能及使用的注意事项,多练习,才能熟能生巧;

    具体函数:

    np.zeros()

    np.zeros()是numpy库中的一个函数,用于创建指定形状的全零数组。函数语法如下:

    numpy.zeros(shape, dtype=float, order='C')
    
    • 1

    其中,参数shape表示要创建的数组的形状,可以是一个整数或者一个元组;参数dtype表示数组的数据类型,默认为float;参数order表示数组在内存中的存储顺序,可以是’C’(按行存储)或’F’(按列存储),默认为’C’。

    例如,要创建一个2行3列的全零数组,可以使用以下代码:

    import numpy as np
    
    arr = np.zeros((2, 3))
    print(arr)
    
    • 1
    • 2
    • 3
    • 4

    输出结果为:

    [[0. 0. 0.]
     [0. 0. 0.]]
    
    • 1
    • 2

    补充:np.ones()和 np.empty()
    np.ones()是numpy库中的一个函数,用于创建指定形状的全1数组。np.empty()是numpy库中的一个函数,用于创建指定形状的未初始化的数组,即数组元素的值是随机的。

    import numpy as np
    
    arr1 = np.ones((2, 3))
    print(arr1)
    arr2 = np.empty((2, 3))
    print(arr2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    输出结果为:

    [[1. 1. 1.]
     [1. 1. 1.]]
    
     [[1. 2. 3.]
     [4. 5. 6.]]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    np.sum()

    np.sum()是numpy库中的一个函数,用于计算数组中元素的总和。函数语法如下:

    numpy.sum(a, axis=None, dtype=None, keepdims=False)
    
    • 1

    其中,参数a表示要计算总和的数组;参数axis表示计算总和的轴向,可以是一个整数、一个元组或者None,默认为None,表示计算所有元素的总和;参数dtype表示输出结果的数据类型;参数keepdims表示是否保留每个轴的维度,保留则为True,不保留则为False,默认为False。如果使用np.sum()函数计算每一列的总和,可以将axis参数设置为0,如果计算每一行的总和,可以将axis参数设置为1,需要注意keepdims为true和false的区别。

    例如,要计算一个2行3列的数组的总和,可以使用以下代码:

    import numpy as np
    
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    sum1 = np.sum(arr)
    print(sum1)
    sum2 = np.sum(arr,0)
    print(sum2)
    sum3 = np.sum(arr,1)
    print(sum3)
    row_sum = np.sum(arr, axis=1, keepdims=True)
    print(row_sum)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    输出结果为:

    21
    [5 7 9]
    [ 6 15]
    [[ 6]  
     [15]]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    np.reshape()

    np.reshape()是numpy库中的一个函数,用于改变数组的形状,即将一个数组调整为指定的形状。函数语法如下:

    numpy.reshape(a, newshape, order='C')
    
    • 1

    其中,参数a表示要改变形状的数组;参数newshape表示新的形状,可以是一个整数或者一个元组;参数order表示在内存中的存储顺序,可以是’C’(按行存储)或’F’(按列存储),默认为’C’。

    例如,假设有一个一维数组arr,可以使用以下代码将其转换为3行2列的二维数组:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5, 6])
    arr1 = np.array([[1, 2], [3, 4], [5, 6]])
    new_arr = np.reshape(arr, (3, 2))
    new_arr1 = np.reshape(arr, (-1, 1))
    new_arr2 = np.reshape(arr, (2, 3))
    print(new_arr)
    print(new_arr1)
    print(new_arr2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    输出结果为:

    [[1 2]
     [3 4]
     [5 6]]
    [[1]
     [2]
     [3]
     [4]
     [5]
     [6]]
    [[1 2 3]
     [4 5 6]]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    np中的转置函数

    在numpy中,可以使用以下两种方式对数组进行转置:

    np.transpose()函数:该函数用于对数组进行转置,返回转置后的新数组。函数语法如下:

    numpy.transpose(a, axes=None)
    
    • 1

    其中,参数a表示要进行转置的数组;参数axes用于指定转置后数组的轴的顺序,默认为None,表示将所有轴反转。

    例如,对于一个2行3列的数组arr,可以使用以下代码进行转置:

    import numpy as np
    
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    transpose_arr = np.transpose(arr)
    print(transpose_arr)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    输出结果为:

    [[1 4]
     [2 5]
     [3 6]]
    
    • 1
    • 2
    • 3

    .T属性:该属性用于对数组进行转置,返回转置后的新数组。可以看作是np.transpose()函数的简写形式。例如,对于一个2行3列的数组arr,可以使用以下代码进行转置:

    import numpy as np

    arr = np.array([[1, 2, 3], [4, 5, 6]])
    transpose_arr = arr.T
    print(transpose_arr)
    输出结果为:

    [[1 4]
    [2 5]
    [3 6]]
    需要注意的是,这两种方式都返回一个新的数组,原始数组并没有被改变。如果需要在原始数组上进行操作,可以使用arr.T或np.transpose(arr)进行赋值操作。

  • 相关阅读:
    【C语言刷题】牛客JZ65——不用四则运算作加法
    git上传代码(第一次或已有代码)
    怎么恢复苹果回收站删除的文件呢?
    moco接口框架介绍
    计算机毕业设计SSM电影网站系统【附源码数据库】
    测试用例评审的旁观记录
    数据结构栈的实现
    Elasticsearch---spring-boot-starter-data-elasticsearch整合攻略详解
    【云原生系列】第四讲:Knative 之 Eventing
    Docker 部署 nacos 服务
  • 原文地址:https://blog.csdn.net/weixin_43597208/article/details/134336229