#python #django #pandas #matplotlib
Вопрос:
Я работаю над приложением, которое сможет отображать график показателей компании в акциях, я хотел превратить график панды этой компании в изображение без его сохранения. Может кто-нибудь сказать мне, что делать?
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()
Я на самом деле подумываю о добавлении этого сюжета, полученного из фрейма данных pandas close_ma30 = pd.concat([df.close, ma30], axis=1).dropna()
, в мой html-код:
Я хочу создать функцию python, которая позволит мне возвращать ее в виде изображения для кода django. Спасибо вам за помощь!
Ответ №1:
Вы можете использовать фрейм данных-изображение для преобразования графика панд в изображение, которое вы можете посетить https://pypi.org/project/dataframe-image/. dataframe_image имеет возможность экспортировать как обычные, так и стилизованные кадры данных в виде изображений из скрипта Python. Передайте свой обычный или стилизованный кадр данных в функцию экспорта вместе с местоположением файла, чтобы сохранить его в виде изображения.
>>> import dataframe_image as dfi
>>> dfi.export(df_styled, 'df_styled.png')
Вы также можете экспортировать непосредственно из фрейма данных или стилизованного фрейма данных, используя методы dfi.export и export_png соответственно.
>>> df.dfi.export('df.png')
>>> df_styled.export_png('df_styled.png)
Как библиотека Python
Dataframe_image также можно использовать вне ноутбука в качестве обычной библиотеки Python. В отдельном скрипте Python импортируйте пакет dataframe_image и передайте имя файла вашего ноутбука функции преобразования.
>>> 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
Для работы dataframe_image у вас должен быть установлен Google Chrome (или Brave). Путь к Chrome должен быть найден автоматически. Если Chrome не находится в стандартном расположении, установите его с помощью параметра chrome_path.
Использование matplotlib вместо Chrome Если у вас не установлен Chrome или вы не можете заставить его работать должным образом, вы также можете использовать matplotlib для преобразования кадров данных в изображения. Выберите этот параметр, установив для параметра table_conversion значение «matplotlib».
Публикация в среде, тесно связанной с этим пакетом, является jupyter_to_medium, который публикует ваши записные книжки напрямую и быстро в виде сообщений в блоге среднего уровня.
Зависимости У вас должны быть установлены следующие библиотеки Python.