码迷,mamicode.com
首页 > 其他好文 > 详细

numpy 基础知识

时间:2020-03-29 11:07:52      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:mil   含义   array   for   指定   处理   属性   color   date   

numpy的主要对象是同质的多维数组。其中的元素通常都是数字,并且是同样的类型,由一个正整数元组进行索引。每个元素在内存中占有同样大小的空间。在Numpy中,维度被称为‘轴’。

例如对于[1, 2, 1]我们说它有一个轴,并且长度为3。而[[ 1., 0., 0.], [ 0., 1., 2.]]则有两个轴,第一个轴的长度为2,第二个轴的长度为3。

numpy数组类的名字叫做ndarray,经常简称为array。要注意将numpy.array与标准Python库中的array.array区分开,后者只处理一维数组,并且功能简单。

np.array的代码定义如下:

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

 各参数的含义:

  object:用于生成数组的数据对象

  dtype:指定类型,可选。

  copy:可选,默认为True,对象被复制。

  order:C语言风格(按行)、FORTRAN风格(按列)或A(任意,默认)。

  subok:默认情况下,返回的数组被强制为基类数组。 如果为True,则返回子类。

  ndmin:指定返回数组的最小维数。

ndarray具有以下重要属性:

  ndarray.ndim:数组的轴数量

  ndarray.shape:数组的形状。这是一个整数元组。比如对于n行m列的矩阵,其shape形状就是(n,m)。而shape元组的长度则恰恰是上面的ndim值,也就是轴数。

  ndarray.size:数组中所有元素的个数。这恰好等于shape中元素的乘积。

  ndarray.dtype:数组中元素的数据类型。除了标准的Python类型,Numpy还提供一些自有的类型。

  ndarray.itemsize:元素的字节大小。比如float64类型的itemsize为8(=64/8),而complex32的itemsize为4(=32/8)。

  ndarray.data:包含数组实际元素的缓冲区。通常我们不需要使用这个属性,因为我们将使用索引工具访问数组中的元素。

  ndarray.flags: 数组对象的一些状态指示或标签

1. C_CONTIGUOUS (C):数组位于单一的、C语言风格的连续区段内
2. F_CONTIGUOUS (F): 数组位于单一的、Fortran语言风格的连续区段内
3.  OWNDATA (O) :数组的数据是否从其它对象处借用
4.  WRITEABLE (W) :数据区域是否可写入。 将它设置为Flase会锁定数组,使其只读。
5.  ALIGNED (A) :数据元素会适当对齐
6.  UPDATEIFCOPY (U) :如果数组是另一数组的副本。当这个数组释放时,源数组会由这个数组中的元素更新

在实际使用中,通常使用import numpy as np来导入numpy并简写为np,这是国际惯例,请保持阵型。

>>> import numpy as np  #导入numpy
>>> a = np.arange(15).reshape(3, 5) #创建一个数组并调整为3行5列
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2
>>> a.dtype.name  # 根据版本和环境不同,可能不同,比如int64
int32
>>> a.itemsize
4
>>> a.size
15
>>> type(a)
<type numpy.ndarray>
>>> b = np.array([6, 7, 8])  # 又一种生成数组的方法
>>> b
array([6, 7, 8])
>>> type(b)
<type numpy.ndarray>

numpy 基础知识

标签:mil   含义   array   for   指定   处理   属性   color   date   

原文地址:https://www.cnblogs.com/lavender1221/p/12590787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!