【问题标题】:why return value is only nan?为什么返回值只有nan?
【发布时间】:2016-11-07 00:43:35
【问题描述】:

这是我试图运行的代码,但我没有得到输出中的值,

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.]]

请帮忙,提前谢谢!

【问题讨论】:

  • 您在阅读s.postal时是否检查了geocoder返回的数据类型?
  • "numpy.loadtxt([...], dtype = numpy.ndarray)" 不知你是否了解dtype的使用,去掉它试试。 “for i in range(1,101)”索引从 0 开始,使用 Numpy。如果你想跳过 Flywheel_SF.csv 中的标题行,你最好使用 numpy.loadtxt 的“skiprows”选项。

标签: python numpy google-geocoder


【解决方案1】:

一个可能的原因是您发送到 google api 的请求数量。 你每天只能调用 google api 2500 次。

更多详情请阅读: https://developers.google.com/maps/documentation/geocoding/usage-limits

【讨论】:

    猜你喜欢
    • 2015-05-20
    • 2017-05-10
    • 2013-08-06
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 2021-07-17
    相关资源
    最近更新 更多