首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyMongo:更新许多,熊猫数据帧

PyMongo:更新许多,熊猫数据帧
EN

Stack Overflow用户
提问于 2019-07-19 06:47:40
回答 1查看 534关注 0票数 0

我正在尝试将技术指标值存储到我有价格记录的同一集合中。例如,如果当前存储在MongoDB集合中的数据帧如下所示:

代码语言:javascript
复制
   Unix Timestamp                 Date  Symbol  ...       Low     Close     Volume
1   1562540400000  2019-07-07 23:00:00  BTCUSD  ...  11423.00  11475.07  32.996559
2   1562536800000  2019-07-07 22:00:00  BTCUSD  ...  11333.59  11423.00  48.937730
3   1562533200000  2019-07-07 21:00:00  BTCUSD  ...  11478.20  11526.25  25.323908
4   1562529600000  2019-07-07 20:00:00  BTCUSD  ...  11423.94  11515.80  63.211972

以及搜索存储的yeilds:

代码语言:javascript
复制
{'_id': ObjectId('5d30bc55ed1bb60762ac4d8d'), 'Unix Timestamp': 1562544000000, 'Date': '2019-07-08 00:00:00', 'Symbol': 'BTCUSD', 'Open': 11475.07, 'High': 11540.33, 'Low': 11469.53, 'Close': 11506.43, 'Volume': 10.77073088}
{'_id': ObjectId('5d30bc55ed1bb60762ac4d8e'), 'Unix Timestamp': 1562540400000, 'Date': '2019-07-07 23:00:00', 'Symbol': 'BTCUSD', 'Open': 11423.0, 'High': 11482.72, 'Low': 11423.0, 'Close': 11475.07, 'Volume': 32.99655899}
{'_id': ObjectId('5d30bc55ed1bb60762ac4d8f'), 'Unix Timestamp': 1562536800000, 'Date': '2019-07-07 22:00:00', 'Symbol': 'BTCUSD', 'Open': 11526.25, 'High': 11572.74, 'Low': 11333.59, 'Close': 11423.0, 'Volume': 48.9377301868}
{'_id': ObjectId('5d30bc55ed1bb60762ac4d90'), 'Unix Timestamp': 1562533200000, 'Date': '2019-07-07 21:00:00', 'Symbol': 'BTCUSD', 'Open': 11515.8, 'High': 11562.65, 'Low': 11478.2, 'Close': 11526.25, 'Volume': 25.3239076786}
{'_id': ObjectId('5d30bc55ed1bb60762ac4d91'), 'Unix Timestamp': 1562529600000, 'Date': '2019-07-07 20:00:00', 'Symbol': 'BTCUSD', 'Open': 11547.98, 'High': 11624.88, 'Low': 11423.94, 'Close': 11515.8, 'Volume': 63.211972440299995}

有没有办法用相关的技术指标更新多个文档?例如,该数据帧/序列可能如下所示:

代码语言:javascript
复制
    EMA26     ATR
0  11506.430000   70.80
1  11490.454151   83.43
2  11467.115719  239.15
3  11482.746419  139.65
4  11489.865287  200.94

我唯一能想到的就是根据unix时间戳迭代技术指示器dataframe和update中的每一行。

EN

回答 1

Stack Overflow用户

发布于 2019-07-19 07:06:06

我认为您将不得不迭代每个文档。

我查找了信息,但Collection class in PyMongo Documenttion显示没有创建批量的线索。相反,它只允许您更新一组匹配单个条件(update_many)的文档。

假设您的时间戳是唯一的,那么使用update_one应该不会有额外的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57103523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档