web-dev-qa-db-ja.com

TypeError:float()引数は、「メソッド」ではなく、文字列または数値である必要があります

緯度と経度を約1万のデータポイントの郵便番号に変換しようとしています。タスクにジオコーダーを使用しています。

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

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

Zip = g.postal

しかし、ジオコーダーを実行すると、次のエラーが発生します。

TypeError:float()引数は、「メソッド」ではなく、文字列または数値である必要があります

Pandasシリーズ、次にNumpy配列を使用して実行しようとしましたが、機能しません。

4
adityaverma

.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()
8
Surajano

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

0
Zohaib Ijaz