gpt4 book ai didi

python - 在for循环中使用python numpy linspace

转载 作者:行者123 更新时间:2023-11-28 21:54:02 25 4
gpt4 key购买 nike

我正在尝试在 for 循环中使用 linspace。我想要 0 到 10 之间的 0.5 间隔。看来 z_bin 正在正确执行。

我的问题:如何在 for 循环中正确使用 linspace 来代替注释行中旁边显示的范围函数?当我从使用整数转向使用小数时,我需要在循环中更改什么?

z_bin = numpy.linspace (0.0,10.0,num=21) 
print 'z_bin: ', z_bin
num = len(z_bin)

grb_binned_data = []
for i in numpy.linspace(len(z_bin)-1): #range(len(z_bin)-1):
zmin = z_bin[i]
zmax = z_bin[i+1]
grb_z_bin_data = []
for grb_row in grb_data:
grb_name = grb_row[0]
ra = grb_row[1]
dec = grb_row[2]
z = float(grb_row[3])
if z > zmin and z <= zmax:
grb_z_bin_data.append(grb_row)
grb_binned_data.append(grb_z_bin_data)

最佳答案

您不应该使用 linspace 的输出来索引数组! linspace 生成 float ,数组索引需要一个整数。

从你的代码来看,你真正想要的是这样的:

z_bin = numpy.linspace(0.0, 10.0, 21)

for i in range(len(z_bin)-1):
zmin = z_bin[i]
zmax = z_bin[i+1]

# do some things with zmin/zmax

zminzmax 仍将是浮点(十进制)数。

关于python - 在for循环中使用python numpy linspace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24890558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com