如何使用Python将Pandas系列映射到JSON中的对象

时间:2017-01-18 22:05:50

标签: python json pandas dataframe mapping

我有一个如下所示的JSON文件:

{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]]]
    }
    }
]}

我有一个来自数据框的pandas系列,如下所示:

df['Winner'] = 0 A
               1 B
               2 A
               3 C
               4 B
               5 A

如何更改JSON中所有'BDYSET_ID'对象的值以匹配df['Winner']中的字母索引?

例如,我做到了 data['features'][0]['properties']['BDYSET_ID'] = "A",它可以工作但只替换一个'BDYSET_ID'对象的值。如何根据索引为所有这些做到这一点?

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

这可以通过for循环来完成吗?

for i, value in zip(df.index, df.Winner):
    data['features'][i]['properties']['BDYSET_ID'] = value