python - 将 Pymongo 数据从列表附加到 pandas 数据框
问题描述
我在数据框中有来自 MongoDB 的位置数据,其中包含一个充满字典的列表。我现在正在尝试将字典中的位置数据读取到数据框中。我创建了一个包含列(posX、posY 和 posZ)的新数据框。现在我想读入数据,但我有以下问题。如果我想通过索引添加数据,它会从最后一个 MongoDB 文档中获取所有条目的位置数据。我该怎么做才能为每一行显示正确的位置数据?
我使用此代码从以下 DataFrame 中获得了字典
for i in range(0, 3, +1):
y = df.loc[i,'position.vars']
(我使用 del 命令删除了不必要的数据,例如“key”:“Positiondaten”。)
时间 | 返回码 | 位置变量 |
---|---|---|
02.02.2017 13:01 | 好的 | [{“key”:“Positionsdaten”,“value”:“1”,“vartype”:1},{“key”:“PositionX”,“value:11”,“vartype”1},{“key” : "PositionY", "value: 11", "vartype" 1}, {"key": "PositionZ", "value: 11", "vartype" 1}] |
02.02.2017 13:05 | 好的 | {“key”:“Positionsdaten”,“value”:“1”,“vartype”:1},{“key”:“PositionX”,“value:0”,“vartype”1},{“key”: "PositionY", "value: 0", "vartype" 1}, {"key": "PositionZ", "value: 0", "vartype" 1}] |
02.02.2017 13:09 | 好的 | {“key”:“Positionsdaten”,“value”:“1”,“vartype”:1},{“key”:“PositionX”,“value:33”,“vartype”1},{“key”: "PositionY", "value: 66", "vartype" 1}, {"key": "PositionZ", "value: 99", "vartype" 1}] |
之后,我尝试将数据从 Y 附加到 df2。
df2 = pd.DataFrame(y, columns = ["posX", "posY", "posZ"])
for i in range(0, 3, +1):
y = df.loc[i,'position.vars']
print(y)
df2["posX"] = y[0]["value"]
df2["posY"] = y[1]["value"]
df2["posZ"] = y[2]["value"]
目前我的 DataFrame 看起来像这样
posX | 铭文 | 位置 |
---|---|---|
33 | 66 | 99 |
33 | 66 | 99 |
33 | 66 | 99 |
但是 DataFrame 应该是这样的
posX | 铭文 | 位置 |
---|---|---|
11 | 11 | 11 |
0 | 0 | 0 |
33 | 66 | 99 |
解决方案
通过添加 [i] 来解决它
df2["posX"] [i] = y[0]["value"]
推荐阅读
- javascript - (React Frontend) 后端收到数据时,无法访问返回的对象
- android - 我想要自定义 UI 与破折线相同的票
- firebase - 如何使用 uid 文档 ID FirebaseAuth Firestore 获取 Firestore 字段信息
- javascript - RegEx l33t 说话识别器?
- r - 使用相同数据集进行预测时,预测和寓言包返回的参数略有不同
- java - 如何在没有参数的情况下为对象设置值
- node.js - Docker 容器无法找到更新的节点模块
- wordpress - 无法连接到我的本地 MAMP Wordpress 站点
- mongodb - MongoDB 如何使用聚合代替以下查询
- mysql - MySQL Workbench:如何选择具有特定日期的特定行?如何排除日期?