赞
踩
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
原文地址:https://www.cnblogs.com/cgl-dong/p/14142977.html
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理
想要获取更多Python学习资料可以加
QQ:2955637827私聊
或加Q群630390733
大家一起来学习讨论吧!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。