geopyを介してパンダデータフレームからすべての長さと緯度を取得する

hmmmbob

「カリフォルニア州ロサンゼルス」のような位置データを含むデータフレームがあります。

目標は、列のすべてのエントリを反復処理し、longとlatを新しい列に保存することです。どんな入力やヒントも大歓迎です!

私はそれを単一の値で試しましたが、うまくいきました。

from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="xxx")
location=geolocator.geocode(df['Location'][1])
print(location.longitude)
print(location.latitude)

-117.8704931

33.7500378

さて、初心者として、forループをやってみましょうと思いました:

df['lat']=0
print(df['Location'][1])
for x in range(1,len(df)+1):
    location = geolocator.geocode(df['Location'][x])
    df['loc'][x]=location.latitude

次の警告が表示されます。

SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  df['loc'][x]=location.latitude

約2分後、次のエラーが発生します。

socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\skpok\Anaconda3\lib\site-packages\geopy\geocoders\base.py", line 344, in _call_geocoder
    page = requester(req, timeout=timeout, **kwargs)
  File "C:\Users\skpok\Anaconda3\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\Users\skpok\Anaconda3\lib\urllib\request.py", line 543, in _open
    '_open', req)
  File "C:\Users\skpok\Anaconda3\lib\urllib\request.py", line 503, in _call_chain
    result = func(*args)
  File "C:\Users\skpok\Anaconda3\lib\urllib\request.py", line 1360, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "C:\Users\skpok\Anaconda3\lib\urllib\request.py", line 1319, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error timed out>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\skpok\Downloads\test123.py", line 12, in <module>
    location = geolocator.geocode(df['Location'][x])
  File "C:\Users\skpok\Anaconda3\lib\site-packages\geopy\geocoders\osm.py", line 309, in geocode
    self._call_geocoder(url, timeout=timeout), exactly_one
  File "C:\Users\skpok\Anaconda3\lib\site-packages\geopy\geocoders\base.py", line 367, in _call_geocoder
    raise GeocoderTimedOut('Service timed out')
geopy.exc.GeocoderTimedOut: Service timed out
rpm787

Nominatimには、1秒あたりの最大リクエストルール(1秒あたり1)があります。スクリプトがループ間でスリープする句を挿入するようにしてください。

あなたが試すことができます

import time
df['lat']=0
print(df['Location'][1])
for x in range(1,len(df)+1):
    location = geolocator.geocode(df['Location'][x])
    time.sleep(2)
    df.at[x, 'lat']=location.latitude

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダのデータフレームで緯度と経度を使用して距離を計算するにはどうすればよいですか?

分類Dev

データフレームの列から緯度と経度を取得する

分類Dev

geopyを使用して、パンダデータフレームの座標から国名を検索します

分類Dev

データフレームパンダの緯度経度データから距離を計算する

分類Dev

緯度と経度の2つの列を使用して2つのパンダデータフレームをマージする必要があります

分類Dev

すべてのFirebaseドキュメントから緯度と経度のデータを取得する

分類Dev

パンダデータフレームから特定の行をシリーズとして取得する

分類Dev

衛星ビューでプロットパイソンを使用してパンダデータフレームから(緯度と経度を使用して)ポイントをマークする方法

分類Dev

パンダのデータフレームから単一の値を文字列として取得する方法

分類Dev

dictとしてパンダデータフレームからゼロ以外の列を取得する

分類Dev

パンダ。2列のデータフレーム。交差行列を取得します(列#1からすべてに)

分類Dev

あるデータフレームから列名を取得し、パンダの別のデータフレームに空の列として追加します

分類Dev

列名のリストを介してデータフレームから列を選択するPythonパンダ

分類Dev

パンダデータフレーム:地理座標(経度と緯度)に基づいて範囲内のアイテムを結合します

分類Dev

パンダデータフレームのペアのセットからすべての接続されたコンポーネントを取得します

分類Dev

パンダのPythonを使用してデータフレームの各列の最大長を取得する方法

分類Dev

クラスを介してパンダデータフレームを作成すると、空のデータフレームが返される

分類Dev

パンダのデータフレームのすべての列からデータを出力する

分類Dev

長さが異なるインデックスとして配列を使用して、パンダデータフレームで一度に複数の値を変更するにはどうすればよいですか?

分類Dev

2番目のデータフレームの各観測値について、1つのパンダデータフレームから最も近い(緯度/経度)観測値を検索します

分類Dev

Postgresに保存されているOSMデータから緯度と経度で都市名を取得します

分類Dev

パンダを使用して、指定された頻度でデータフレームの平均を計算する

分類Dev

すべてのパンダのデータフレームから1.00を引きます。大きな負の値を取得していますか?

分類Dev

異なる長さのインデックスでパンダデータフレームに参加し、すべてを保持します

分類Dev

パンダの2つのデータフレームからマップされたデータのすべてのオカレンスを印刷します

分類Dev

あるパンダデータフレームから行の値を取得し、それらを参照として使用して別のデータフレームから値を取得する方法

分類Dev

パンダの日付のすべての日曜日を取得し、それに対応する値を抽出してから、新しいデータフレームとして保存して減算を行う方法

分類Dev

パンダのデータフレームを頻度と長さで並べ替える

分類Dev

パンダデータフレームの各セルからすべてのコンマを削除します

Related 関連記事

  1. 1

    パンダのデータフレームで緯度と経度を使用して距離を計算するにはどうすればよいですか?

  2. 2

    データフレームの列から緯度と経度を取得する

  3. 3

    geopyを使用して、パンダデータフレームの座標から国名を検索します

  4. 4

    データフレームパンダの緯度経度データから距離を計算する

  5. 5

    緯度と経度の2つの列を使用して2つのパンダデータフレームをマージする必要があります

  6. 6

    すべてのFirebaseドキュメントから緯度と経度のデータを取得する

  7. 7

    パンダデータフレームから特定の行をシリーズとして取得する

  8. 8

    衛星ビューでプロットパイソンを使用してパンダデータフレームから(緯度と経度を使用して)ポイントをマークする方法

  9. 9

    パンダのデータフレームから単一の値を文字列として取得する方法

  10. 10

    dictとしてパンダデータフレームからゼロ以外の列を取得する

  11. 11

    パンダ。2列のデータフレーム。交差行列を取得します(列#1からすべてに)

  12. 12

    あるデータフレームから列名を取得し、パンダの別のデータフレームに空の列として追加します

  13. 13

    列名のリストを介してデータフレームから列を選択するPythonパンダ

  14. 14

    パンダデータフレーム:地理座標(経度と緯度)に基づいて範囲内のアイテムを結合します

  15. 15

    パンダデータフレームのペアのセットからすべての接続されたコンポーネントを取得します

  16. 16

    パンダのPythonを使用してデータフレームの各列の最大長を取得する方法

  17. 17

    クラスを介してパンダデータフレームを作成すると、空のデータフレームが返される

  18. 18

    パンダのデータフレームのすべての列からデータを出力する

  19. 19

    長さが異なるインデックスとして配列を使用して、パンダデータフレームで一度に複数の値を変更するにはどうすればよいですか?

  20. 20

    2番目のデータフレームの各観測値について、1つのパンダデータフレームから最も近い(緯度/経度)観測値を検索します

  21. 21

    Postgresに保存されているOSMデータから緯度と経度で都市名を取得します

  22. 22

    パンダを使用して、指定された頻度でデータフレームの平均を計算する

  23. 23

    すべてのパンダのデータフレームから1.00を引きます。大きな負の値を取得していますか?

  24. 24

    異なる長さのインデックスでパンダデータフレームに参加し、すべてを保持します

  25. 25

    パンダの2つのデータフレームからマップされたデータのすべてのオカレンスを印刷します

  26. 26

    あるパンダデータフレームから行の値を取得し、それらを参照として使用して別のデータフレームから値を取得する方法

  27. 27

    パンダの日付のすべての日曜日を取得し、それに対応する値を抽出してから、新しいデータフレームとして保存して減算を行う方法

  28. 28

    パンダのデータフレームを頻度と長さで並べ替える

  29. 29

    パンダデータフレームの各セルからすべてのコンマを削除します

ホットタグ

アーカイブ