python - 如何将熊猫图转换为图像
问题描述
我正在开发一个能够显示公司股票表现图表的应用程序,我想将该公司的熊猫图转换为图像而不保存它。有人可以告诉我该怎么做吗?
from fastquant import get_pse_data
import matplotlib.pyplot as plt
import pandas as pd
df = get_pse_data(symbol, '2019-01-01', '2020-01-01')
ma30 = df.close.rolling(30).mean()
close_ma30 = pd.concat([df.close, ma30], axis=1).dropna()
我实际上正在考虑将这个从熊猫数据框派生的图添加close_ma30 = pd.concat([df.close, ma30], axis=1).dropna()
到我的 html 代码中:
我想创建一个 python 函数,它允许我将它作为 django 代码的图像返回。感谢您的帮助!
解决方案
您可以使用Dataframe-image将熊猫图转换为图像,您可以访问https://pypi.org/project/dataframe-image/。dataframe_image 能够从 Python 脚本中将普通和样式化的 DataFrame 导出为图像。将您的普通或样式化 DataFrame 连同文件位置一起传递给导出函数,以将其保存为图像。
>>> import dataframe_image as dfi
>>> dfi.export(df_styled, 'df_styled.png')
您也可以分别使用 dfi.export 和 export_png 方法直接从 DataFrame 或样式化 DataFrame 导出。
>>> df.dfi.export('df.png')
>>> df_styled.export_png('df_styled.png)
作为 Python 库 ,Dataframe_image 也可以在笔记本之外用作普通 Python 库。在单独的 Python 脚本中,导入 dataframe_image 包并将笔记本的文件名传递给 convert 函数。
>>> import dataframe_image as dfi
>>> dfi.convert('path/to/your_notebook.ipynb',
to='pdf',
use='latex',
center_df=True,
max_rows=30,
max_cols=10,
execute=False,
save_notebook=False,
limit=None,
document_name=None,
table_conversion='chrome'
chrome_path=None,
latex_command=None,
output_dir=None,
)
默认情况下,新文件将保存在笔记本所在的同一目录中。不要在要转换的同一笔记本中运行此命令。
从命令行 命令行工具 dataframe_image 将在安装时可用,其选项与上面的转换功能相同。
dataframe_image --to=pdf "my notebook with dataframes.ipynb"
查找 Google Chrome 您必须安装 Google Chrome(或 Brave)才能使 dataframe_image 正常工作。应该会自动找到 Chrome 的路径。如果 Chrome 不在标准位置,请使用 chrome_path 参数进行设置。
使用 matplotlib 代替 Chrome 如果您没有安装 Chrome 或无法使其正常工作,您也可以使用 matplotlib 将 DataFrames 转换为图像。通过将 table_conversion 参数设置为“matplotlib”来选择此选项。
发布到 Medium 与此软件包密切相关的是 jupyter_to_medium,它可以直接快速地将您的笔记本发布为 Medium 博客文章。
依赖项 您必须安装以下 Python 库。
推荐阅读
- php - Laravel 和 mySQL 与关系表
- python - 有什么方法可以让 SciKit-Learn 使用硬盘吗?
- openstack - 使用 Openstack 客户端 Glance image-create 命令是否需要对环境中的所有控制器重复执行该命令?
- node.js - 使用节点 js 性能问题批量更新 Postgres
- python - Beautifulsoup - 根据前一个 div 子标签从下一个 div 子标签中提取文本
- reactjs - 前端/后端分离:Safari 不存储来自 API 的 cookie,该 API 托管在与其前端 SPA 客户端不同的域上
- php - 更新多行sql php
- node.js - 将ffmpeg缩略图输出管道传输到另一个程序
- python - python3:正则表达式组 1,意外结果
- c# - 可定制的数据输入控件