python - Numpy 等级 1 数组

标签 python arrays matlab numpy rank

我是 Matlab/Octave 用户。 Numpy 文档说 arraymatrix 更可取。有没有一种方便的方法来处理 rank-1 数组,而不需要不断地 reshape 它?

例子:

data = np.loadtxt("ex1data1.txt", usecols=(0,1), delimiter=',',dtype=None)
X = data[:, 0]
y = data[:, 1]
m = len(y)

print X.shape, y.shape
>>> (97L, ) (97L, )

我无法使用 concatenatevstackappend 将新列添加到 X,np.c_ 除外> 哪个更慢,没有 reshape X:

X = np.concatenate((np.ones((m, 1)), X), axis = 1)
>>> ValueError: all the input arrays must have same number of dimensions

X - y,如果不 reshape y 就无法完成 np.reshape(y, (-1, 1))

最佳答案

np.reshape(y, (-1, 1)) 的一个更简单的等效项是 y[:, np.newaxis]。由于 np.newaxisNone 的别名,因此 y[:, None] 也有效。还值得一提的是 np.expand_dims(y, axis=1)

关于python - Numpy 等级 1 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36545713/

相关文章:

python - BeautifulSoup - 从表格中抓取文本不起作用

c - 连续数字的最大乘积

arrays - Julia:大稀疏矩阵的所有特征值

matlab - 矩阵/张量三重积?

python - 使用 vspipe 的 Python main(argv) 函数中的 Vapoursynth 输出节点

python - 如何使用pip为python3安装包?现在它总是为 python2 安装

matlab - 如何在 matlab 中执行具有多个变量的分段方程?

matlab - 神经网络对测试数据的预测只有 50%

python - 导入错误 : No module named 'geopy' ipython-notebook

php - 使用 MySQL/PHP 获取数组