Python 如何将列添加到numpy数组中

Python 如何将列添加到numpy数组中,python,numpy,Python,Numpy,我想在第一列的所有行上添加一列'1'。。。 例如,在: 9 8 4 3 4 5 3 2 1 之后: 1 9 8 4 1 3 4 5 1 3 2 1 到目前为止,我的代码是: import numpy as np import pandas as pd training = pd.read_csv('data.csv', header = None) training training.shape 输出=(300,14) 要将数据生成矩阵,请执行以下操作: trainingData =

我想在第一列的所有行上添加一列'1'。。。 例如,在:

9 8 4
3 4 5
3 2 1
之后:

1 9 8 4
1 3 4 5
1 3 2 1 
到目前为止,我的代码是:

import numpy as np
import pandas as pd

training = pd.read_csv('data.csv', header = None)
training
training.shape
输出=
(300,14)

要将数据生成矩阵,请执行以下操作:

trainingData = training.values
在所有行的第一列中插入一列1

featureVector = np.insert(featureVector, 0, 1, axis=0)

当我打印变量featureVector时,我看不到1…我如何才能做到这一点或修复它?

您可以连接一个1列矩阵并
训练

>>> import numpy as np
>>> training = np.array([9, 8, 4, 3, 4, 5, 3, 2, 1]).reshape(3, 3)
>>> np.concatenate((np.ones((training.shape[1], training)), a), axis=1)
array([[ 1.,  9.,  8.,  4.],
       [ 1.,  3.,  4.,  5.],
       [ 1.,  3.,  2.,  1.]])
axis=1
用于指定应添加列。否则:

>>> np.concatenate(([[1,1,1]], training), axis=0)
array([[1, 1, 1],
       [9, 8, 4],
       [3, 4, 5],
       [3, 2, 1]])
您还可以使用
列\u堆栈

>>> np.column_stack((np.ones(training.shape[1]), training))
array([[ 1.,  9.,  8.,  4.],
       [ 1.,  3.,  4.,  5.],
       [ 1.,  3.,  2.,  1.]])
这对我很有用:

array = training.values
np.concatenate(([np.ones(len(array))],array.T),axis=0).T
与常规:

输出:

[[1 9 8 4]
 [1 3 4 5]
 [1 3 2 1]]

尝试使用axis=1,因为您想更改列数。如果我想更改第一列中的300行,我是否必须进行循环?因此,基本上他/她把轴弄错了。不错+1只是好奇,为什么在pd.read\u csv上使用np.loadtxt()?np.loadtxt()能处理大型数据集吗?@KatZee刚刚看到了简单的输入数据,并认为这项工作可以用单个
numpy
模块完成(没有
pandas
)。当然,你可以继续使用熊猫
[[1 9 8 4]
 [1 3 4 5]
 [1 3 2 1]]