在python中是否有某种方法可以将列添加到矩阵中.我想在python的矩阵开头添加一个列.mxn例如,我有1000x100矩阵,我想把它变成1000x101矩阵.我想ones在开头插入全部列的新列,即它将是我的新第一列.在python中有可能吗?
这是我的代码 -
vector1是一个列表,cnt是1000
data=np.array(vector1)
shape = ( cnt, 100 )
data=data.reshape(shape)
Run Code Online (Sandbox Code Playgroud)
现在,我想在开头添加一个新列
Yup*_*ing 17
您正在寻找的功能numpy.hstack和numpy.ones:
例如,
import numpy as np
X = np.random.uniform(size=(10,3))
n,m = X.shape # for generality
X0 = np.ones((n,1))
Xnew = np.hstack((X,X0))
print(X)
[[ 0.78614426 0.24150772 0.94330932]
[ 0.60088812 0.20427371 0.19453546]
[ 0.31853252 0.31669057 0.82782995]
[ 0.71749368 0.54609844 0.74924888]
[ 0.86883981 0.54634575 0.83232409]
[ 0.89313181 0.8006561 0.05072146]
[ 0.79492088 0.07750024 0.45762175]
[ 0.92350837 0.20587178 0.76987197]
[ 0.0092076 0.0044617 0.04673518]
[ 0.69569363 0.3315923 0.15093861]]
print(X0)
[[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]]
print(Xnew)
[[ 0.78614426 0.24150772 0.94330932 1. ]
[ 0.60088812 0.20427371 0.19453546 1. ]
[ 0.31853252 0.31669057 0.82782995 1. ]
[ 0.71749368 0.54609844 0.74924888 1. ]
[ 0.86883981 0.54634575 0.83232409 1. ]
[ 0.89313181 0.8006561 0.05072146 1. ]
[ 0.79492088 0.07750024 0.45762175 1. ]
[ 0.92350837 0.20587178 0.76987197 1. ]
[ 0.0092076 0.0044617 0.04673518 1. ]
[ 0.69569363 0.3315923 0.15093861 1. ]]
Run Code Online (Sandbox Code Playgroud)
小智 5
我发现该numpy.c_函数在向矩阵添加列时非常方便。以下代码将向矩阵添加一列全为零的列。
import numpy as np
np.c_[np.ones((100,1)),X]
Run Code Online (Sandbox Code Playgroud)
这里,X是原始矩阵。
| 归档时间: |
|
| 查看次数: |
23363 次 |
| 最近记录: |