gpt4 book ai didi

matplotlib - 将Matplotlib输出保存到Databricks上的DBFS

转载 作者:行者123 更新时间:2023-12-01 04:27:35 25 4
gpt4 key购买 nike

我正在Databricks上编写Python代码来处理一些数据和输出图。我希望能够将这些图形另存为图片文件(.png或其他格式实际上并不重要)到DBFS。

代码:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'fruits':['apple','banana'], 'count': [1,2]})
plt.close()
df.set_index('fruits',inplace = True)
df.plot.bar()
# plt.show()

我尝试过的事情:
plt.savefig("/FileStore/my-file.png")

[Errno 2] No such file or directory: '/FileStore/my-file.png'


fig = plt.gcf()
dbutils.fs.put("/dbfs/FileStore/my-file.png", fig)

TypeError: has the wrong type - (,) is expected.



经过研究,我认为fs.put仅在您要保存文本文件时才有效。

使用 plt.show()运行上述代码将获得一个条形图-我希望能够将该条形图作为图像保存到DBFS。任何帮助表示赞赏,在此先感谢!

最佳答案

您可以通过将图形保存到内存中,然后使用Python local file APIs写入DataBricks文件系统(DBFS)来完成此操作。

例子:

import matplotlib.pyplot as plt
from io import BytesIO

# Create a plt or fig, then:
buf = BytesIO()
plt.savefig(buf, format='png')

path = '/dbfs/databricks/path/to/file.png'

# Make sure to open the file in bytes mode
with open(path, 'wb') as f:
# You can also use Bytes.IO.seek(0) then BytesIO.read()
f.write(buf.getvalue())

关于matplotlib - 将Matplotlib输出保存到Databricks上的DBFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57203817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com