Я использую [библиотеку API геокодера Python] [1].У меня есть столбец данных pandas логического True / False, основанный на том, геокодирован ли у меня этот конкретный адрес или нет.Есть ли способ изменить мой существующий код на геокодирование, основываясь на том, есть ли у меня геокодированный код или нет?
Сейчас все, что он делает, это печатает выражение True, а затем геокодирует все, независимо от того, что у меня есть логическое значение.Помогите, пожалуйста!
Вот еще один способ выразить это:
У меня есть информационный фрейм твитов.Если твит был геокодирован, я пометил этот твит истиной (если он был геокодирован) или ложным (если он не был геокодирован).То, что я пытаюсь сделать, это проверить, является ли столбец 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"
}
}
]
}