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

adi*_*rma 4 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
Run Code Online (Sandbox Code Playgroud)

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

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

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

Sur*_*ano 8

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

因为它是一个函数,你错过了(),你还没有添加()函数括号.as_matrix.

lat = subsamp['Latitude'].as_matrix
long = subsamp['Longitude'].as_matrix
Run Code Online (Sandbox Code Playgroud)

它应该如下:

lat = subsamp['Latitude'].as_matrix()
long = subsamp['Longitude'].as_matrix()
Run Code Online (Sandbox Code Playgroud)


Zoh*_*jaz 0

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