У меня есть JSON-файл, который выглядит следующим образом:Как сопоставить ряд панд объектов в JSON с помощью Python
{type: "FeatureCollection",
"crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:OCG:1.3:CRS84" }},
"features": [
{"type": "Feature",
"properties": {
'BDYSET_ID': 9,'ED_ABBREV': 'ABW','ED_ID': 85,'ED_NAME': 'Abbotsford West','FEAT_AREA': 104653208.2437,'FEAT_PERIM': 47130.005,'GAZETTE_DT': None,'OBJECTID': 86},
"geometry": {"type": "Polygon", "coordinates": [[[ 1.11111, -1.11111]]]
}
}
]}
И у меня есть ряд панд из dataframe, который выглядит следующим образом:
df['Winner'] = 0 A
1 B
2 A
3 C
4 B
5 A
Как изменить значения всех объектов «BDYSET_ID» в JSON, чтобы они соответствовали буквам в df['Winner']
по индексу?
Например, я сделал data['features'][0]['properties']['BDYSET_ID'] = "A"
, который работает, но только заменяет значение одного объекта BDYSET_ID. Как это сделать для всех из них на основе индекса?
Любая помощь будет принята с благодарностью, спасибо.
Я попытался это: 'для г в LEN (данные [ 'особенности']): данные [ 'особенности'] [I] [ 'свойства'] [ 'BDYSET_ID'] = DF [ 'Победитель '] [i] ' , но получил ошибку, что целые объекты не являются итерабельными. – Heather
Я просто попробовал то, что вы сказали, и это сработало, спасибо за вашу помощь! – Heather
Cheers. Для цикла for понадобится 'range()', завернутый вокруг 'len()' integer. Python классный, потому что объекты имеют итерабельность, что позволяет избежать использования «диапазона» во многих случаях – AlexG