1

[geocoder python API ライブラリ][1] を使用しています。その特定のアドレスを既にジオコーディングしているかどうかに基づいて、ブール値の True/False の pandas データフレーム列があります。ジオコーディングしたかどうかに基づいて、既存のコードをジオコーディングに変更する方法はありますか?

今のところ、ブール値に関係なく、True ステートメントを出力し、すべてをジオコーディングするだけです。助けてください!

それを置く別の方法は次のとおりです。

ツイートのデータフレームがあります。ツイートがジオコーディングされている場合、そのツイートに True (ジオコーディングされている場合) または False (ジオコーディングされていない場合) のマークを付けました。私がやろうとしているのは、列が True かどうかを確認し、その行を出力することです。それ以外の場合、その行が False の場合は、それを for ループに送信してジオコーディングします。入力用に元の投稿を編集します。

ここに私の既存のコードがあります:

for d in tweets2['Exist']:
    if d is True:
        print d
    elif d.any() is False:
        coord = []
        for index, row in tweets2.iterrows():
            print(row['location_x'])
            time.sleep(1.01)
            g = geocoder.osm(row['location_x'])
            geo = g.latlng
            print(geo)
            coord.append(geo)
    else:
        pass 

入力としての JSON ファイルの例を次に示します。

{
"data": [
    {
        "user_id": 3299796214, 
        "features": {
            "screen_name": "SaveOurSparrows", 
            "text": "Details confirmed for inquiry into #INEOS #Derbyshire #Fracking site! \n\nAnti Fracking, #keepitintheground #wesaidno\u2026", 
            "location": "West Pennine Moors AONB SSSI", 
            "tweets": 3, 
            "geo_type": "User location", 
            "primary_geo": "West Pennine Moors AONB SSSI", 
            "id": 3299796214, 
            "name": "SaveOurSparrows",
            "Exist": "True"
        }
    }, 
    {
        "user_id": 3302831409, 
        "features": {
            "screen_name": "ProjectLower", 
            "text": "Cutting down on energy costs is the dream for many #smallbusinesses, but to put ideas into practice isn\u2019t always ea\u2026", 
            "location": "Manchester", 
            "tweets": 1, 
            "geo_type": "User location", 
            "primary_geo": "Manchester", 
            "id": 3302831409, 
            "name": "Project Lower",
            "Exist": "False"
        }
    }, 
    {
        "user_id": 2205129714, 
        "features": {
            "screen_name": "AmbCanHaiti", 
            "text": "Petit-d\u00e9jeuner causerie le mercredi 28 mars 2018 \u00e0 l'h\u00f4tel Montana sur l'\u00e9nergie #micror\u00e9seaux #microgrids\u2026", 
            "location": "Haiti", 
            "tweets": 1, 
            "geo_type": "User location", 
            "primary_geo": "Haiti", 
            "id": 2205129714, 
            "name": "Canada en Ha\u00efti",
            "Exist": "False"
        }
    }
 ]

}

4

1 に答える 1