use*_*627 0 python arrays numpy
我想为2D numpy数组中的每一行指定特定于行的值.特别是,每行应包含其行号倒数的值.换句话说,第1行中的所有列应具有值1,第2行中的所有列应为1/2,第3行中的所有列应为1/3,依此类推.我试过这个:
m = 3
n = 10
train = np.empty([n,m], float)
for curr_n in range(n):
train[curr_n,:] = 1/(curr_n+1)
print train
Run Code Online (Sandbox Code Playgroud)
但输出是:
[[ 1. 1. 1.]
[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我在开始时使用了"float",但除了第一行之外,我仍然得到所有的0整数.
Python 3中添加了隐式类型转换,因此您的原始代码将按原样运行:
from __future__ import division
m = 3
n = 10
train = np.empty([n,m], float)
for curr_n in range(n):
train[curr_n,:] = 1/(curr_n+1)
print train
Run Code Online (Sandbox Code Playgroud)
有关该__future__模块的一些信息可以在官方文档未来模块中看到
或者,当sshashank124输入他的答案并放入评论时,您可以使用1.或1.0来强制浮动行为.
| 归档时间: |
|
| 查看次数: |
2581 次 |
| 最近记录: |