Numpy除了具有明显的科学用途外,还可以作为通用数据的高效多维容器。
Numpy中的数组
Numpy中的数组是一个元素表(通常是数字),所有元素都是相同的类型,由一个正整数元组索引。在Numpy中,数组的维数称为数组的秩。一个整数的元组给出了数组在每个维度上的大小,称为数组的形状。Numpy中的数组类称为ndarray。Numpy数组中的元素可以使用方括号访问,也可以使用嵌套Python列表初始化。
创建一个Numpy数组
Numpy中的数组可以通过多种方式创建,具有不同数量的秩,定义数组的大小。数组还可以使用各种数据类型(如列表、元组等)创建。合成阵列的类型由序列中元素的类型导出。
注意:可以在创建数组时显式定义数组的类型。
输出如下:
Array with Rank 1:
[1 2 3]
Array with Rank 2:
[[1 2 3]
[4 5 6]]
Array created using passed tuple:
[1 3 2]
访问数组索引
在numpy数组中,索引或访问数组索引可以通过多种方式完成。 要打印一系列数组,请完成切片。 切片数组是在新数组中定义一个范围,用于从原始数组中打印一系列元素。 由于切片数组包含原始数组的一系列元素,因此在切片数组的帮助下修改内容会修改原始数组内容。
输出如下:
Initial Array:
[[-1. 2. 0. 4. ]
[ 4. -0.5 6. 0. ]
[ 2.6 0. 7. 8. ]
[ 3. -7. 4. 2. ]]
Array with first 2 rows and alternate columns(0 and 2):
[[-1. 0.]
[ 4. 6.]]
Elements at indices (1, 3), (1, 2), (0, 1), (3, 0):
[0. 6. 2. 3.]
基本阵列操作
在numpy中,数组允许可以在特定阵列或阵列组合上执行的各种操作。 这些操作包括一些基本的数学运算以及一元和二元运算。
输出如下:
Adding 1 to every element: [[2 3]
[4 5]]
Subtracting 2 from each element: [[ 2 1]
[ 0 -1]]
Sum of all array elements: 10
Array sum:
[[5 5]
[5 5]]
Numpy中的数据类型
每个Numpy数组都是一个元素表(通常是数字),都是相同的类型,由正整数元组索引。 每个ndarray都有一个关联的数据类型(dtype)对象。 此数据类型对象(dtype)提供有关阵列布局的信息。 ndarray的值存储在缓冲区中,缓冲区可以被认为是可以由dtype对象解释的连续的存储器字节块。 Numpy提供了大量可用于构造数组的数值数据类型。 在创建数组时,Numpy尝试猜测数据类型,但构造数组的函数通常还包含一个可选参数来显式指定数据类型。
构造数据类型对象
在Numpy中,除非需要特定的数据类型,否则无需定义数组的数据类型。 Numpy试图猜测构造函数中未预定义的数组的数据类型。
Integer Datatype:
int64
Float Datatype:
float64
Forcing a Datatype:
int64
DataType数组上的数学运算
在Numpy数组中,基本数学运算在数组上以元素方式执行。 这些操作既可以作为操作符重载也可以作为函数应用。 Numpy中提供了许多有用的函数,用于对数组执行计算,例如sum:用于添加数组元素,T:用于元素的转置等。
输出如下:
Addition of Two Arrays:
[[ 7. 13.]
[ 4. 14.]]
Addition of Array elements:
19.0
Square root of Array1 elements:
[[2. 2.64575131]
[1.41421356 2.44948974]]
Transpose of Array:
[[4. 2.]
[7. 6.]]