for 루프에서 linspace를 사용하려고합니다. 0과 10 사이의 0.5 간격을 싶습니다. 그것은 z_bin 제대로 실행중인 것으로 나타납니다.for 루프에서 파이썬 numpy linspace를 사용하여
내 질문 : linspace를 올바르게 주석 줄에 표시된 범위 함수 대신 for 루프에서 사용할 수 있습니까? 정수 작업에서 소수점 작업으로 이동하면서 루프에서 무엇을 변경해야합니까?
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)
dshepard : 우수한을! 응답 해주셔서 감사합니다. 유익하고 명확한, 정말 고마워요 – CuriousGeorge119
이런 종류의 사용에주의하십시오. 나열된 경우에도 작동하지만 끝점을 포함하는지 여부는 부동 소수점 올림에 따라 다릅니다. 예를 들어 numpy.arange (0.0, 20.0, 2.0/3.0)는 numpy.linspace (0.0, 20.0, 31)와 같은 대답을 반환하지 않습니다. – Evan
좋은 점은 실제로 문서에서 linspace가 비 필수 단계에 사용되어야한다고 말하면서 대답에서 변경하겠습니다. – dshepherd