将 MongoDB 中的数据放入 python 中的图表(使用 pandas 数据框)

Putting data from MongoDB into a chart in python (using pandas dataframe)

我在 MongoDB 中有一个数据库,显示了 2019 年的太阳能生产。我将其导入到一个带有 json 文件的集合中。我现在必须使用 plot() 函数在 python 的图表上显示这些数据。我从 MongoDB 中读出数据并将其放入 pandas DataFrame 中。

问题是我收到一个 TypeError,提示“没有要绘制的数字数据”。 我认为这是因为我的数据框中的数据仍然是文本形式而不是实际数据。所以我需要以某种方式将其转换为数字数据和日期时间。

这是我当前的代码:

import pandas as pd
import matplotlib.pyplot as plt
import pymongo

my_client = pymongo.MongoClient("mongodb://localhost:27017/")
my_db = my_client["ExamenVoorbeeld"]
my_collection = my_db["Opbrengst_zonnepanelen"]

lst_power_production = list(my_collection.find(filter={}, projection={"_id": 0, "Production": 1, "DateTime": 1}))

df_mongo = pd.DataFrame(lst_power_production)

print(df_mongo)

df_mongo.plot(x="DateTime", y = "Production", xlabel="date", ylabel="production (kWh)", figsize=(20,10), title="Solar energy production in 2019")

附上我的数据库的额外截图。 Database

您可以尝试更改数据框列的数据类型,例如:
df_mongo['Production'] = df_mongo['Production'].astype(int)
df_mongo['DateTime'] = pd.to_datetime(df_mongo['DateTime'])