python - Numpy - 仅更改数组一列的值的更简单方法?

标签 python arrays numpy

我想创建一个二维数组,其中一列保持不变,另一列随 linspace 变化。

这可行,但看起来有点笨重:

np.hstack((np.tile(45,(21,1)), np.array([np.linspace(55,65,21)]).T))

[[ 45.   55. ]
 [ 45.   55.5]
 [ 45.   56. ]
 [ 45.   56.5]
 [ 45.   57. ]
 [ 45.   57.5]
 [ 45.   58. ]
 [ 45.   58.5]
 [ 45.   59. ]
 [ 45.   59.5]
 [ 45.   60. ]
 [ 45.   60.5]
 [ 45.   61. ]
 [ 45.   61.5]
 [ 45.   62. ]
 [ 45.   62.5]
 [ 45.   63. ]
 [ 45.   63.5]
 [ 45.   64. ]
 [ 45.   64.5]
 [ 45.   65. ]]

有更好的方法吗?

最佳答案

这看起来更干净,但除此之外我没有看到太多优势:

x = np.empty((21, 2))
x[:, 0] = 45
x[:, 1] = np.linspace(55, 65, x.shape[0])

关于python - Numpy - 仅更改数组一列的值的更简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23832653/

相关文章:

python - 无法理解 numpy argpartition 输出

python - 使用 python pandas 如何进行一些分析以识别有效的手机号码

python - 在 Python NumPy 中,维度和轴是什么?

python - 阵列点积

python - 在Elasticsearch中按字段长度对查询进行排序

python - 在 while 列表中添加 +=

python如何循环一个函数

php插入preg_match_all数组

arrays - 如何使用 jq 将 JSON 文件分解为包裹在数组中的较小 json?

javascript - 在 JavaScript 中将字符串数组拆分为 float 组