如何使用熊猫从一组对象中创建一个数据框?

时间:2019-11-01 04:34:19

标签: python pandas mongodb pymongo

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

我已经使用pymongo和pandas建立了URI连接,以创建数据框架,但是我需要在对象数组之外创建数据框架。

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

enter image description here

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

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

    collection_project.iloc [58:,7]

    excel = collection_project.iloc [58:,7]

这是最终结果:

enter image description here

1 个答案:

答案 0 :(得分:0)

例如,如果要在数据数组中的特定对象具有索引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)