Python 如何使用numpy将一列1添加到规范化数组中?

Python 如何使用numpy将一列1添加到规范化数组中?,python,numpy,Python,Numpy,我的代码是 import numpy as np housing_data = np.loadtxt('Housing.csv', delimiter=',') x1 = housing_data[:,0] x2 = housing_data[:,1] y = housing_data[:,2] avgX1 = np.mean(x1) stdX1 = np.std(x1) normX1 = (x1 - avgX1) / stdX1 avgX2 = np.mean(x2) stdX2 =

我的代码是

import numpy as np

housing_data = np.loadtxt('Housing.csv', delimiter=',')

x1 = housing_data[:,0]
x2 = housing_data[:,1]
y = housing_data[:,2]

avgX1 = np.mean(x1)
stdX1 = np.std(x1)
normX1 = (x1 - avgX1) / stdX1

avgX2 = np.mean(x2)
stdX2 = np.std(x2)
normX2 = (x2 - avgX2) / stdX2

ones = np.ones((normX2.shape[0], 1))

normalizedX = np.array((ones[0], normX1, normX2))

我试图用第一列中的数组创建一个新的规范化数组,然后是
normX1
normX2
。由于某种原因,我的代码不起作用。你知道我做错了什么吗?

实际问题是你制作了
one
2D,其中
normX1
normX2
是1D。然后,当您调用
np.array((one[0],normX1,normX2))
时,您将得到
one的第一行,这是另一个长度为1的数组。
np.array
的三个参数之间的长度不匹配导致它返回一个对象列表(带有
dtype=object
的numpy数组)

首先,我只需要将
one
设置得足够大,以容纳所有数据,并避免额外设置一个数组。然后只需将
normX1
normX2
的值分配给该数组的列:

normalizedX = np.ones((normX2.shape[0], 3))
normalizedX[:,1] = normX1
normalizedX[:,2] = normX2
print(normalizedX)

我试图创建一个新的数组,而不是连接到一个现有的数组“我的代码不工作?”如何?你是没有得到你想要的结果,还是有什么错误?谢谢你。非常helpful@Shamoon如果你现在知道实际的问题是什么,就可以编辑你的问题,这对网站是有帮助的,这样将来其他有同样问题的人可能会更容易找到这篇文章。一个简短的“我所期待的”和“我所得到的”将会有很大的帮助。