Numpy 基础知识
-
Numpy
的主要对象是同质的多维数组。Numpy
中的元素放在[]
中,其中的元素通常都是数字,并且是同样的类型,由一个正整数元组进行索引。 -
每个元素在内存中占有同样大小的空间。在Numpy中,维度被称为
轴
。例如对于[1, 2, 1]有一个轴,并且长度为3。而[[ 1., 0., 0.], [ 0., 1., 2.]]
则有两个轴,第一个轴的长度为2,第二个轴的长度为3。 -
Numpy
数组类的名字叫做ndarray
,经常简称为array
。要注意将numpy.array
与标准Python
库中的array.array
区分开,后者只处理一维数组,并且功能简单。
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) # np.array的定义
各参数的含义:
- 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: 数组对象的一些状态指示或标签
import numpy as np # 国际惯例的导入方式
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 # 数组中元素的数据类型
'int32'
a.size # 数组中所有元素的个数
15
type(a)
numpy.ndarray
b = np.array([1, 2, 3, 4]) # 生成一个数组,中括号的元素看成一个整体
b
array([1, 2, 3, 4])
type(b)
numpy.ndarray
c = np.array([[1, 2], [3, 4], [5, 6]]) # 注意:有两层中括号[]
c
array([[1, 2],
[3, 4],
[5, 6]])
c.size
6
网友评论