[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"
}
}
]
}