我希望使用python创建一个条形图,它根据mySQL数据库中另一列中的条件对列的总数进行求和。
我创建了一个人员支出的mySQL数据库,其中一个列是支出类别,例如食品,另一个列是金额,例如GB5.00。我想要创建一个条形图,这是我的支出总额按类别。
我可以在python和mySQL之间进行连接,也可以使用简单的条形图,但这是我正在努力解决的总和计算问题。
谢谢
发布于 2022-02-23 18:53:05
您可以直接使用SQL获取总价值--类似于
SELECT SUM(spending) GROUP BY category我没有示例数据库来测试它并显示完整的工作代码。
最终,您可以将所有数据加载到pandas.DataFrame (df)中,并使用类似的
result = df.groupby('category').sum('spending')使用pandas,您还可以使用matplotlib直接显示它
result.plot.bar()使用示例数据的最小工作代码
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
'spending': [1, 2, 3, 4, 5],
'category': ['A', 'B', 'C', 'A', 'C'],
})
result = df.groupby('category').sum('spending')
print(result)
result.plot.bar()
plt.savefig('output.jpg') # save before show
plt.show()结果:
spending
category
A 5
B 2
C 8

最终,您可以使用result在HTML上生成一些绘图,但它需要额外的JavaScript库。或者您可以在HTML中使用图像'output.jpg‘。
https://stackoverflow.com/questions/71240802
复制相似问题