【问题标题】:How to create a data frame out of an array of objects using pandas?如何使用熊猫从对象数组中创建数据框?
【发布时间】:2020-02-27 10:48:57
【问题描述】:

我有一个包含多个文档的集合,每个文档包含不同的对象,但是有一个特定的对象是一个包含 Excel 文件(行和列)的对象数组。

我已经使用 pymongo 和 pandas 建立了 URI 连接以创建数据框,但我需要从对象数组中创建一个数据框。

这是文档的样子:名为“数据”的对象是我想要映射出来以创建数据框的对象

这是我到目前为止所做的:

  1. 我索引了确切的行和列以选择要从中创建数据框的 excel 文件
  2. 我创建了一个包含此索引的变量

    collection_project.iloc[58:,7]

    excel = collection_project.iloc[58:,7]

这是最终的结果:

【问题讨论】:

    标签: python pandas mongodb pymongo


    【解决方案1】:

    例如,如果您想要的数据数组中的特定对象具有索引 5,这可能会起作用(可能):

    import pandas as pd
    from pymongo import MongoClient
    CON = MongoClient("<your connection uri>")
    db = CON["<YourDatabase>"]
    coll = db["<YourCollection>"]
    index = 5
    pipeline = [{"$project":{"data": { "$arrayElemAt": [ "$data", index]},}},{"$replaceRoot":{"newRoot":"data"}}]
    cursor = coll.aggregate(pipeline)
    records = list(cursor)
    df = pd.DataFrame(records)
    

    【讨论】:

      猜你喜欢
      • 2020-12-20
      • 2018-11-04
      • 2021-06-02
      • 2018-06-04
      • 2017-12-01
      • 1970-01-01
      • 2021-06-08
      • 2021-09-29
      • 2019-11-12
      相关资源
      最近更新 更多