TypeError:float()参数必须是字符串或数字,而不是'方法'

时间:2017-04-24 04:19:36

标签: python numpy google-geocoder

我正在尝试将纬度和经度转换为大约10k个数据点的zipcodes。我正在使用地理编码器来完成任务。

lat = subsamp['Latitude'].as_matrix
long = subsamp['Longitude'].as_matrix

g = geocoder.google([lat, long], method='reverse')

zip = g.postal

但是,在执行地理编码器时,我收到错误:

  

TypeError:float()参数必须是字符串或数字,而不是'method'

我尝试使用Pandas系列然后Numpy阵列运行它但不起作用。

2 个答案:

答案 0 :(得分:8)

.as_matrix的遗失括号问题, pandas.DataFrame.as_matrix,是一种方法 用于将帧转换为Numpy数组表示。

由于它是一项功能,因为()错过了(),您没有添加.as_matrix功能括号。

lat = subsamp['Latitude'].as_matrix
long = subsamp['Longitude'].as_matrix

应该如下:

lat = subsamp['Latitude'].as_matrix()
long = subsamp['Longitude'].as_matrix()

答案 1 :(得分:0)

zip是一个数字或字符串,但您已为此值指定了一个函数。 zip = g.postal - > zip = g.postal()