使用Dask DataFrames展平JSON

斯蒂文·拉米雷斯·阿兰戈

我正在尝试在Dask数据帧中展平JSON数组对象(没有文件.json),因为我有很多数据,并且RAM不断被进程消耗,因此我需要一种并行形式的解决方案。

那就是我拥有的JSON:

[ {
        "id": "0001",
        "name": "Stiven",
        "location": [{
                "country": "Colombia",
                "department": "Choco",
                "city": "Quibdo"
            }, {
                "country": "Colombia",
                "department": "Antioquia",
                "city": "Medellin"
            }, {
                "country": "Colombia",
                "department": "Cundinamarca",
                "city": "Bogota"
            }
        ]
    }, {
        "id": "0002",
        "name": "Jhon Jaime",
        "location": [{
                "country": "Colombia",
                "department": "Valle del Cauca",
                "city": "Cali"
            }, {
                "country": "Colombia",
                "department": "Putumayo",
                "city": "Mocoa"
            }, {
                "country": "Colombia",
                "department": "Arauca",
                "city": "Arauca"
            }
        ]
    }, {
        "id": "0003",
        "name": "Francisco",
        "location": [{
                "country": "Colombia",
                "department": "Atlantico",
                "city": "Barranquilla"
            }, {
                "country": "Colombia",
                "department": "Bolivar",
                "city": "Cartagena"
            }, {
                "country": "Colombia",
                "department": "La Guajira",
                "city": "Riohacha"
            }
        ]
    }
]

那就是我的数据框:

index   id    name         location
0       0001  Stiven       [{'country':'Colombia', 'department': 'Choco', 'city': 'Quibdo'}, {'country':'Colombia', 'department': 'Antioquia', 'city': 'Medellin'}, {'country':'Colombia', 'department': 'Cundinamarca', 'city': 'Bogota'}]
1       0002  Jhon Jaime   [{'country':'Colombia', 'department': 'Valle del Cauca', 'city': 'Cali'}, {'country':'Colombia', 'department': 'Putumayo', 'city': 'Mocoa'}, {'country':'Colombia', 'department': 'Arauca', 'city': 'Arauca'}]
2       0003  Francisco    [{'country':'Colombia', 'department': 'Atlantico', 'city': 'Barranquilla'}, {'country':'Colombia', 'department': 'Bolivar', 'city': 'Cartagena'}, {'country':'Colombia', 'department': 'La Guajira', 'city': 'Riohacha'}] 

我需要将每个id转换为dataframe,如下所示:

index   id    name         country   department       city
0       0001  Stiven       Colombia  Choco            Quibdo
1       0001  Stiven       Colombia  Antioquia        Medellin
2       0001  Stiven       Colombia  Cundinamarca     Bogota
3       0002  Jhon Jaime   Colombia  Valle del Cauca  Cali
4       0002  Jhon Jaime   Colombia  Putumayo         Mocoa
5       0002  Jhon Jaime   Colombia  Arauca           Arauca
6       0003  Francisco    Colombia  Atlantico        Barranquilla
7       0003  Francisco    Colombia  Bolivar          Cartagena 
8       0003  Francisco    Colombia  La Guajira       Riohacha   

所有过程必须与Dask并行。有什么建议吗?

提前致谢。

麦考林

我建议先使用Pandas数据.map_partitions解决此问题,然后再使用该函数将该功能应用于Dask数据框中的所有Pandas分区。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用jq展平JSON文档

来自分类Dev

使用jq展平嵌套的JSON

来自分类Dev

如何使用Awk展平JSON?

来自分类Dev

如何使用熊猫从api展平json

来自分类Dev

使用pd.json_normalize展平字典

来自分类Dev

使用Spark和Scala展平json文件

来自分类Dev

使用pd.json_normalize展平字典

来自分类Dev

使用ActiveResource时如何展平JSON响应?

来自分类Dev

使用:include时在Rails中展平JSON数据

来自分类Dev

使用 R 将 JSON 文件中的列表展平

来自分类Dev

使用Firebase展平数据

来自分类Dev

如何在Snowflake中使用横向展平在JSON中爆炸几个列表值JSON?

来自分类Dev

使用lodash方法展平并在json对象中查找值并查找

来自分类Dev

使用AWS Pipeline从S3传输到RedShift时展平JSON文件

来自分类Dev

如何在传递给@csv过滤器之前使用嵌套结构展平JSON

来自分类Dev

展平任何嵌套的json字符串,并使用spark scala转换为dataframe

来自分类Dev

查询有关使用Jackson展平嵌套json的信息

来自分类Dev

使用JQ将JSON展平/合并为单个对象数组

来自分类Dev

如何使用Java手动展平Elasticsearch嵌套的JSON文档?

来自分类Dev

如何使用Spark / Spark SQL将JSON Blob展平为数据框

来自分类Dev

使用Firebase数据展平多少?

来自分类Dev

使用AutoMapper展平嵌套列表

来自分类Dev

如何使用Spark / Scala展平集合?

来自分类Dev

使用多索引列展平DataFrame

来自分类Dev

使用XSLT拆分和展平节点

来自分类Dev

使用JavaScript展平深度嵌套的对象

来自分类Dev

使用linq在EFcore中展平IEnumerable

来自分类Dev

使用Hygenic宏展平语法树

来自分类Dev

使用XSLT展平任何XML