2017-04-24 47 views
1

約10kデータポイントの緯度と経度を郵便番号に変換しようとしています。私は仕事のためにジオコーダーを使用しています。TypeError:float()引数は 'method'ではなく文字列または数値でなければなりません

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

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

zip = g.postal 

はしかし、ジオコーダを実行する上で、私はエラーを取得する:

TypeError: float() argument must be a string or a number, not 'method'

は、私は、numpyの配列をパンダシリーズを使用してそれを実行してみましたが、動作しません。

+1

[ 'zip'(https://docs.python.org/2/library/functions.html#zip)が内蔵され関数を実行してはいけません。名前を 'zip_code'などに変更してください –

答えて

0

zipは数値または文字列ですが、この値に関数を割り当てました。 zip = g.postal - >zip = g.postal()

6

その pandas.DataFrame.as_matrix.as_matrixの欠損括弧の問題は、そのnumpyのアレイ表現にフレームを変換するために使用される方法 あります。

これは関数なので、の場合は()を忘れてしまい、()関数括弧を追加していません。

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

次のようにすべきである:

lat = subsamp['Latitude'].as_matrix() 
long = subsamp['Longitude'].as_matrix() 
関連する問題