首页 > 学院 > 开发设计 > 正文

给numpy矩阵添加一列

2019-11-14 17:00:05
字体:
来源:转载
供稿:网友

问题的定义:

首先我们有一个数据是一个mn的numpy矩阵现在我们希望能够进行给他加上一列变成一个m(n+1)的矩阵

import numpy as npa = 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_[]分别添加行和列

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

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'

np.column_stack((a,b))array([[ 1.,  2.,  3.,  1.],       [ 4.,  5.,  6.,  1.],       [ 7.,  8.,  9.,  1.]])

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表