利用NumPy进行高效计算_第一部分

本文介绍了NumPy在Python中的重要性及其用于高效计算的特性,如n维数组、线性代数、随机数生成等。通过创建数组、矩阵转置、索引和切片等基础操作,展示了NumPy的便捷功能。要了解更深入的操作,请查阅后续文章。
摘要由CSDN通过智能技术生成

一、NumPy的用途

NumPy(Numerical Python)是 Python 语言的一个扩展程序库,是一个高效计算工具,不同于普通编程中变量计算,具有以下特点:

  • 可以进行n维数组的高效计算,具有矢量运算能力,且快速,节省空间;
  • 能进行线性代数、傅立叶变换等多种高效科学运算,可对整组数据进行快速运算的标准数学函数;
  • 有丰富的随机数功能;
  • 有丰富的数组处理功能,可以进行广播计算;

NumPy 为开放源代码并且由许多协作者共同维护开发。

二、NumPy使用基础

使用NumPy时,需要先行导入numpy包:

import numpy as np

之后就可以利用缩写的np使用numpy包了,在以下的讲述中,数组、矩阵都指的是ndarray对象(N 维数组对象)。

数组对象:

NumPy的数组类称为ndarray,也是N维数组的别名,它是一系列同类型数据的集合,以 0 下标开始对集合中的元素进行索引的。NumPy的基础计算对象是数组,NumPy的数组与Python的列表list不同,list中的元素可以是不同类型,而NumPy数组中的元素都为一种类型。

使用NumPy构建数组需要两个关键参数:shape(数组形状)和dtype(类型)

1.利用ndarray构造方法创建数组:

>>> import numpy as np
>>> a = np.ndarray(shape=(2,3),dtype=float)
>>> a
array([[5.50148290e+222, 5.34753902e+246, 8.50060723e-096],
       [4.27255707e+180, 1.03471377e-259, 6.94168483e-310]])
>>>

其结果是一个2行3列的float类型的随机数组。当然更多维数组也可以:

>>> a = np.ndarray(shape=(2,3,5),dtype=float)
>>> a
array([[[ 1.28822975e-231, -1.29074164e-231, -7.90505033e-323,
          0.00000000e+000,  2.12199579e-314],
        [ 0.00000000e+000,  0.00000000e+000,  0.00000000e+000,
          1.75871011e-310,  3.50977866e+064],
        [ 0.00000000e+000,  3.97645035e-309,              nan,
                      nan,  3.50977942e+064]],

       [[ 1.13813711e-308,  0.00000000e+000,  0.00000000e+000,
          -0.00000000e+000,  0.00000000e+000],
        [ 2.12199579e-314,  0.00000000e+000,  0.00000000e+000,
          0.00000000e+000,  1.75871011e-310],
        [ 3.50977866e+064,  0.00000000e+000,  0.00000000e+000,
                      nan,              nan]]])
>>> type(a)
<class 'numpy.ndarray'>
>>> a.dtype
dtype('float64')
>>> a.shape
(2, 3, 5)
>>>

其中<class 'numpy.ndarray'>表示:a是ndarray数组对象。dtype('float64')表示:所有元素的类型是64位(8byte)的浮点型。(2, 3, 5)是个元组,表示数组的形状是三维数组空间。

在ndarray构造方法中的dt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值