首先我们有一个数据是一个mn的numpy矩阵现在我们希望能够进行给他加上一列变成一个m(n+1)的矩阵
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import numpy as np
a = np.array([[ 1 , 2 , 3 ],[ 4 , 5 , 6 ],[ 7 , 8 , 9 ]])
b = np.ones( 3 )
c = np.array([[ 1 , 2 , 3 , 1 ],[ 4 , 5 , 6 , 1 ],[ 7 , 8 , 9 , 1 ]])
PRint (a)
print (b)
print (c)
[[ 1 2 3 ]
[ 4 5 6 ]
[ 7 8 9 ]]
[ 1. 1. 1. ]
[[ 1 2 3 1 ]
[ 4 5 6 1 ]
[ 7 8 9 1 ]]
|
我们要做的就是把a,b合起来变成c
方法一
使用np.c_[]和np.r_[]分别添加行和列
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
np.c_[a,b]
array([[ 1 ., 2 ., 3 ., 1 .],
[ 4 ., 5 ., 6 ., 1 .],
[ 7 ., 8 ., 9 ., 1 .]])
np.c_[a,a]
array([[ 1 , 2 , 3 , 1 , 2 , 3 ],
[ 4 , 5 , 6 , 4 , 5 , 6 ],
[ 7 , 8 , 9 , 7 , 8 , 9 ]])
np.c_[b,a]
array([[ 1 ., 1 ., 2 ., 3 .],
[ 1 ., 4 ., 5 ., 6 .],
[ 1 ., 7 ., 8 ., 9 .]])
|
方法二
使用np.insert
1
2
3
4
5
6
7
8
9
10
11
|
np.insert(a, 0 , values=b, axis= 1 )
array([[ 1 , 1 , 2 , 3 ],
[ 1 , 4 , 5 , 6 ],
[ 1 , 7 , 8 , 9 ]])
np.insert(a, 3 , values=b, axis= 1 )
array([[ 1 , 2 , 3 , 1 ],
[ 4 , 5 , 6 , 1 ],
[ 7 , 8 , 9 , 1 ]])
|
方法三
使用'column_stack'
1
2
3
4
5
|
np.column_stack((a,b))
array([[ 1. , 2. , 3. , 1. ],
[ 4. , 5. , 6. , 1. ],
[ 7. , 8. , 9. , 1. ]])
|
总结
以上就是本文关于Python编程给numpy矩阵添加一列方法示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出!
原文链接:http://blog.csdn.net/yan456jie/article/details/53997505