2016-11-07 85 views
0

这里是我的代码,我尝试运行,但我没有在输出端获得的值,为什么返回值只有南?

import numpy 
import geocoder 

data = numpy.loadtxt(fname = 'Flywheel_SF.csv', delimiter = ',', dtype = numpy.ndarray) 
start = list() 
end = list() 
z_code = numpy.zeros((101,2)) 

for i in range(1,101): 
    s = geocoder.google([data[i,4], data[i,5]], method='reverse') 
    e = geocoder.google([data[i,6], data[i,7]], method='reverse') 
    start.append(s.postal) 
    end.append(e.postal) 
    z_code[i,0] = s.postal 
    z_code[i,1] = e.postal 


zipcode = [start, end] 

print(z_code) 

这里是我得到的输出,

[[ 0. 0.] 
[ nan nan] 
[ nan nan] 
[ nan nan] 
[ nan nan] 
.... 
.... 
[ nan nan] 
[ nan nan] 
[ nan nan] 
[ nan nan] 
[ nan nan] 
[ nan nan]] 

输出应该是这样的,这些是从经度和经度转换的邮编

[[  0.  0.] 
[ 94105. 94103.] 
[ 94133. 94108.] 
[ 94133. 94133.] 
[ 94114. 94122.] 
[ 94104. 94128.] 
[ 94128. 94066.] 
...... 
...... 
[ 94128. 94066.] 
[ 94118. 94116.] 
[ 94109. 94102.]] 

请帮助,提前谢谢!

+0

你检查,当你阅读s.postal从地理编码器返回的数据类型? “ –

+0

”numpy.loadtxt([...],dtype = numpy.ndarray)“我想知道你是否理解dtype的使用,尝试删除它。 “因为我在范围(1,101)”索引从Numpy开始。如果您尝试跳过Flywheel_SF.csv中的标题行,最好使用numpy.loadtxt的“skiprows”选项。 – Balzola

回答