我想创建一个二维数组,其中一列保持不变,另一列随 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/