VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python科学计算 - Numpy快速入门(4)

合并数组

使用numpy下的vstack和hstack函数:

1
2
3
4
5
6
7
8
9
10
11
12
>>> a = np.ones((2,2))
>>> b = np.eye(2)
>>> print(np.vstack((a,b)))
#顾名思义 v--vertical  垂直
[[ 1.  1.]
 [ 1.  1.]
 [ 1.  0.]
 [ 0.  1.]]
>>> print(np.hstack((a,b)))
#顾名思义 h--horizonal 水平
[[ 1.  1.  1.  0.]
 [ 1.  1.  0.  1.]]

看一下这两个函数有没有涉及到浅拷贝这种问题:

1
2
3
4
5
6
7
8
9
>>> c = np.hstack((a,b))
>>> print c
[[ 1.  1.  1.  0.]
 [ 1.  1.  0.  1.]]
>>> a[1,1] = 5
>>> b[1,1] = 5
>>> print c
[[ 1.  1.  1.  0.]
 [ 1.  1.  0.  1.]]

可以看到,a、b中元素的改变并未影响c。

 

深拷贝数组

数组对象自带了浅拷贝和深拷贝的方法,但是一般用深拷贝多一些:

1
2
3
4
5
6
7
>>> a = np.ones((2,2))
>>> b = a
>>> print(b is a)
True
>>> c = a.copy()  #深拷贝
>>> c is a
False

基本的矩阵运算

转置:

1
2
3
4
5
6
7
>>> a = np.array([[1,0],[2,3]])
>>> print(a)
[[1 0]
 [2 3]]
>>> print(a.transpose())
[[1 2]
 [0 3]]

numpy.linalg关于矩阵运算的方法

1
>>> import numpy.linalg as nplg

 

特征值、特征向量:


相关教程