程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了pandas 数据帧作为嵌入式文档插入到 MongoDB(目录列表)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决pandas 数据帧作为嵌入式文档插入到 MongoDB(目录列表)?

开发过程中遇到pandas 数据帧作为嵌入式文档插入到 MongoDB(目录列表)的问题如何解决?下面主要结合日常开发的经验,给出你关于pandas 数据帧作为嵌入式文档插入到 MongoDB(目录列表)的解决方法建议,希望对你解决pandas 数据帧作为嵌入式文档插入到 MongoDB(目录列表)有所启发或帮助;

我在插入 MongoDB 之前的数据框如下所示,

    code    Trade_date  open    high    low     close   pre_close   change  pct_chg     vol     
0   600111  20210308    58.99   59.16   56.58   56.66   58.52   -1.86   -3.1784     299902.37   
1   600111  20210305    58.00   58.91   57.71   58.52   59.31   -0.79   -1.3320     281584.57   
2   600111  20210304    60.31   61.60   58.96   59.31   58.67   0.64    1.0908  621415.96   
3   600111  20210303    58.21   58.80   57.80   58.67   58.49   0.18    0.3077  235677.52

我从 Trade_date 中提取了 Year & Month 并附加了一个新列“Trade_month”,如下所示,

code    Trade_date  open    high    low     close   pre_close   change  pct_chg     vol    Trade_month
0   600111  20210308    58.99   59.16   56.58   56.66   58.52   -1.86   -3.1784     299902.37  202103
1   600111  20210305    58.00   58.91   57.71   58.52   59.31   -0.79   -1.3320     281584.57  202103

我怎样才能通过 Pymongo 以下面的格式(嵌入的 mongodb 文档,包括整个月的交易数据作为字典列表)将该表插入到 Mongodb 中?

{
  'code':'600111','Trade_month':'202103',{'month_records': 
    [
      {'Trade_date':'20210301','open':'123','high':'123',...},{'Trade_date':'20210302',{'Trade_date':'20210303',...
    ] 
  }
}

我想要一个月的记录,因为单个 MongoDB 文档符合我的 MongoDB 架构设计,因为我通常通过代码和 Trade_date 检索 1 个月的数据,这些数据将在 MongoDB 中建立索引。

我自己研究了近 2 天,没有找到任何关于如何实现的线索。感谢您的帮助。

解决方法

codemonth 级别使用 groupby 并聚合到 dict。

df.groupby(['code','trade_month']).apply(
    lambda x: x.to_dict(orient='records')
    ).rename('month_records').reset_index().to_dict('records')

输出:

[
   {
      "code":600111,"trade_month":202103,"month_records":[
         {
            "code":600111,"trade_date":20210308,"open":58.99,"high":59.16,"low":56.58,"close":56.66,"pre_close":58.52,"change":-1.86,"pct_chg":-3.1784,"vol":299902.37,"trade_month":202103
         },{
            "code":600111,"trade_date":20210305,"open":58.0,"high":58.91,"low":57.71,"close":58.52,"pre_close":59.31,"change":-0.79,"pct_chg":-1.332,"vol":281584.57,"trade_month":202103
         }
      ]
   }
]

大佬总结

以上是大佬教程为你收集整理的pandas 数据帧作为嵌入式文档插入到 MongoDB(目录列表)全部内容,希望文章能够帮你解决pandas 数据帧作为嵌入式文档插入到 MongoDB(目录列表)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: