python存储 dataframe 数据到mongodb

首先定义mongodb存储类

class MongoBase:
    def __init__(self,collection):
        self.collection=collection#需要传参写入对应库名的集合名,集合名不需要提前定义
        self.OpenDB()
    def OpenDB(self):
        self.con = MongoClient('localhost',27017)
        self.db=self.con['test']#这个是要操作的库名
        self.collection=self.db[self.collection]
    def closeDB(self):
        self.con.close()

把dataframe对象写入mongodb

df_test = pd.DataFrame(np.random.randn(4, 5), columns=list('abcde'))
Df_Mongo = MongoBase('Df_Mongo')
Df_Mongo.collection.insert_many(json.loads(df_test.T.to_json()).values())
Df_Mongo.closeDB()

其实就是把转置的dataframe对象转换为大的json快,使用insert_many多条写入。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要制作一个占卜图,你需要使用Python中的数据可视化库,比如Matplotlib和Seaborn。以下是一个简单的步骤: 1. 从MongoDB中获取评分数据,并将其存储为一个Pandas DataFrame对象。 2. 使用Matplotlib或Seaborn中的图表类型创建占卜图。例如,可以使用饼图或雷达图。 3. 在图表中添加各种元素,例如图例、标签和标题,以使其更具可读性。 以下是一个示例代码,使用Seaborn库创建一个基本的雷达图: ```python import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import pymongo # 连接到MongoDB数据库 client = pymongo.MongoClient('mongodb://localhost:27017/') db = client['mydatabase'] collection = db['mycollection'] # 从MongoDB中获取评分数据 data = pd.DataFrame(list(collection.find())) # 创建雷达图 sns.set(style="whitegrid") categories = ['Category 1', 'Category 2', 'Category 3', 'Category 4', 'Category 5'] values = data[['category1', 'category2', 'category3', 'category4', 'category5']].mean().values.tolist() fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True)) ax.set_theta_offset(0) ax.set_theta_direction(-1) bars = ax.bar(categories, values, linewidth=2, edgecolor="black") ax.set_title("Radar Chart", loc="center", fontsize=16) plt.show() ``` 你需要将代码中的数据库连接信息和数据字段名称替换为你自己的。此外,你可能还需要调整图表的大小和颜色方案以适应你的数据和个人喜好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值