Python科学计算库Numpy

2021-03-10 20:29

阅读:379

标签:lse   str   也有   程序   size   说明   port   单位   写入   

Python科学计算库Numpy

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

1、简介

Numpy是常用的科学计算库。

NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

ndarray 对象是用于存放同类型元素的多维数组。

使用array函数可以创建ndarray对象。

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

参数说明:

名称 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型一致的数组
ndmin 指定生成数组的最小维度

array函数可以将python的数据类型装换为ndarray类型,如列表、字典、元组等。

>>> import numpy as np

>>> np.array([0,2,1])  #列表
array([0, 2, 1])

>>> np.array([[1,  2],  [3,  4]]) #列表
array([[1, 2],
       [3, 4]])

>>> np.array({"name":"tom",1:True}) #字典
array({‘name‘: ‘tom‘, 1: True}, dtype=object)

>>> np.array((1,3,0))          #元组        
array([1, 3, 0])

ndarray也有一些属性,如shape等。

>>> l=np.array([1,2,3,4,5],dtype=int,ndmin=3) #获得一个ndarray
>>>l
>>>array([[[1, 2, 3, 4, 5]]])

>>> l.shape=(5,1)  #控制形状
>>> l
array([[1],
       [2],
       [3],
       [4],
       [5]])

2、属性

ndarray有许多属性。

ndarray.ndim 秩,即轴的数量或维度的数量
ndarray.shape 数组的维度,对于矩阵,n 行 m 列
ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtype ndarray 对象的元素类型
ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
ndarray.flags ndarray 对象的内存信息
ndarray.real ndarray元素的实部
ndarray.imag ndarray 元素的虚部
ndarray.data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。
>>> l=np.array([1,2,3,4,5],dtype=int,ndmin=3) #获得一个ndarray
>>>l
>>>array([[[1, 2, 3, 4, 5]]])

>>> l.shape=(5,1)  #控制形状
>>> l
array([[1],
       [2],
       [3],
       [4],
       [5]])

>>> l.size #数量
5

>>> l.ndim  #秩
2
>>> l.flags  #信息
  C_CONTIGUOUS : True
  F_CONTIGUOUS : True
  OWNDATA : False
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False

>>> l[4]  #通过索引可以访问
array([5])
>>>

3、创建

创建ndarray不仅仅有array函数,还要其他的一些函数。

zeros,empty,ones系列

这部分函数获取的ndarray都是按照特定元素来填充的。

函数主要有这几个参数:

参数 描述
shape 数组形状
dtype 数据类型,可选
order 有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。
>>> np.zeros([2,3]) #由0组成
array([[0., 0., 0.],
       [0., 0., 0.]])

>>> np.empty([3,2])  #随机
array([[0., 0.],
       [0., 0.],
       [0., 0.]])

>>> np.ones([3,1]) #全部由一组成
array([[1.],
       [1.],
       [1.]])
arange函数

这个函数和range关键字功能类似。

>>> np.arange(1,10,2) #1-10之间、以2为步长
array([1, 3, 5, 7, 9])

4、函数

numpy提供了许多函数来辅助处理。

如amin、amax、sort等算术函数。

l=np.array([1,3,9,2,8,4,0,4,2])
l.shape=(3,3)
print(l)

print("min: ",np.amin(l))
print("max: ",np.amax(l))

print(" axmin: ",np.min(l,1))
print(" aymin: ",np.min(l,0))

[[1 3 9]
 [2 8 4]
 [0 4 2]]
min:  0
max:  9
 axmin:  [1 2 0]
 aymin:  [0 3 2]

5、IO

numpy中的数组存入文件中以npy的后缀名。

通过load和save系列函数进行存入与读取。

import numpy as np

a=np.arange(1,100,5)

np.save("nd",a) #写入nd.npy中

b=np.load("nd.npy") #从文件中加载处来
print(b)

Python科学计算库Numpy

标签:lse   str   也有   程序   size   说明   port   单位   写入   

原文地址:https://www.cnblogs.com/cgl-dong/p/14142977.html


评论


亲,登录后才可以留言!