Numpy array数组对象使用详解
numpy 模块定义两个新的对象类型:array 和 ufunc,以及一组操作该对象的函数,以将这两个新的对象类型与其他 Python 类型进行转换。
array 对象是一个可为大数目的数字集合,集合内的数字必须是相同类型,如都是双精度浮点数。
使用 numpy 模块的 array() 方法创建 array 对象。其语法格式如下:
下面的示例将两个矩阵相加。
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
array 对象是一个可为大数目的数字集合,集合内的数字必须是相同类型,如都是双精度浮点数。
使用 numpy 模块的 array() 方法创建 array 对象。其语法格式如下:
array(numbers [, typecode=None])
其中,numbers 是一个序列对象,如元组与列表;typecode 是 numbers 元素的类型。1) 创建一维数组
下面的示例是创建一个一维向量数组。>>>from numpy import * >>>x, y, z = 1, 2, 3 >>>a = array([x, y, z]) >>>print (a) [1 2 3]下面的示例是创建一个一维向量数组,并将向量值以浮点数表示。
>>>from numpy import * >>>x, y, z = 1, 2, 3 >>>a = array([x, y, z], float) >>>print (a) [ 1. 2. 3.]
2) array创建二维矩阵
下面的示例是创建一个 2 行 3 列的矩阵。>>>from numpy import * >>>ma = array([[1, 2, 3], [4, 5, 6]]) >>>print (ma) [[1 2 3] [4 5 6]]下面的示例是显示矩阵 ma 的行列数。
>>>print ma.shape (2, 3)
3) Numpy数组变维操作
下面的示例将矩阵 ma 改成一维矩阵。>>>ma2 = reshape(ma, (6,)) >>>print (ma2) [1 2 3 4 5 6]下面的示例将矩阵 ma 改成 9 行 9 列的矩阵。
>>>ma = array([[1, 2, 3], [4, 5, 6]]) >>>big = resize(ma, (9, 9)) >>>print (big) [[1 2 3 4 5 6 1 2 3] [4 5 6 1 2 3 4 5 6] [1 2 3 4 5 6 1 2 3] [4 5 6 1 2 3 4 5 6] [1 2 3 4 5 6 1 2 3] [4 5 6 1 2 3 4 5 6] [1 2 3 4 5 6 1 2 3] [4 5 6 1 2 3 4 5 6] [1 2 3 4 5 6 1 2 3]]
4) Numpy数组基本运算
下面的示例将两个矩阵相加。>>>a = array([[1, 2, 3], [4, 5, 6]]) >>>b = array([[7, 8, 9], [10, 11, 14]]) >>>print (a + b) [[ 8 10 14] [14 16 18]]下面的示例将两个矩阵相乘。
>>>a = array([[1, 2, 3], [4, 5, 6]]) >>>b = array([[7, 8, 9], [10, 11, 14]]) >>>print (a * b) [[ 7 16 27] [40 55 72]]ufunc 对象提供了用于操作 array 对象的函数集合。这些函数如下表所示:
ufunc对象的函数 | |||
---|---|---|---|
add (+) | subtract (-) | multiply (*) | divide (/) |
remainder (%) | power (**) | arccos | arccosh |
arcsin | arcsinh | arcsinh | arctanh |
COS | cosh | exp | log |
log10 | sin | sinh | sqrt |
tan | tanh | maximum | minimum |
conjugate | equal (=) | not_ equal (!=) | greater (> ) |
greater_ equal (>=) | less() | less_ equal(<=) | logical_ _and (and) |
logical_ _or (or) | logical_ xor | logical_ not (not) | bitwise_ and (&) |
bitwise_ or () | bitwise xor | bitwise_ not (~) |
下面的示例将两个矩阵相加。
>>> from numpy import * >>> a = array([[1, 2, 3], [4, 5, 6]]) >>> b = array([[7, 8, 9], [10, 11, 14]]) >>> print(add(a, b)) [[8 10 14] [14 16 18]]下面的示例是计算矩阵的正弦值。
>>>a = arange (10) >>>print (sin(a) ) [ 0.0.84147098 0.90929743 0.14114001 -0.7568025 -0.95892427 -0.2794145 0.6569866 0.98935825 0.41411849]
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。