NumPy是Python的一个科学计算库,提供了矩阵运算的功能。
NumPy的简单使用:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from numpy import *
print array([1,2,3,4]) #以list为变量产生一维数组
print array((1,2,3,4)) #以tuple为变量产生一维数组
print arange(10)
#[0 1 2 3 4 5 6 7 8 9]
a = zeros((3,4)) #构造三行四列矩阵,全初始化为0
print ones((3,4)) #全初始化为1
print eye(5) #初始化为单位矩阵
print a
print a.ndim #数组的维数
# 2
print a.shape #数组每一维的大小
# (3,4)
print a.shape[0] #第一维的长度
print a.size #数组的元素数
# 12
print a.dtype #元素类型
print a.itemsize #每个元素所占的字节数
a = array([[2,3,4],[5,6,7]]) # 构造了 2*3的矩阵
print a
#[[2 3 4]]
#[5 6 7]]
print a[1,2] #第一行第二个,从0开始
# 7
print a[1,:] #输出第一行
# [5 6 7]
print a[1,1:2] #输出第一行中第一个开始,到第二个(不包括第二个)
# [6]
print linspace(1,3,4) # 输出1到3中的四个数
#[ 1. 1.66666667 2.33333333 3. ]
简单的数组运算:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from numpy import *
a = ones((2,2))
b = eye(2)
print a > 2
#[[False False]
# [False False]]
print a + b
#[[ 2. 1.]
# [ 1. 2.]]
print b * 2
#[[ 2. 0.]
# [ 0. 2.]]
print sum(a) #矩阵元素之和
print a.min() #矩阵中最小的元素
print sin(a) #各元素sin值
print dot(a,b) #矩阵相乘
print hstack((a,b)) #矩阵横向连接
#[[ 1. 1. 1. 0.]
# [ 1. 1. 0. 1.]]
print vstack((a,b)) #矩阵竖向连接
print a.transpose() #矩阵转置
print trace(a) # 矩阵的迹