gpt4 book ai didi

python - Zeppelin 和 Spark.pyspark 和 folium

转载 作者:行者123 更新时间:2023-12-01 01:42:38 29 4
gpt4 key购买 nike

我真的很喜欢 folium 在 jupyter 笔记本上与 python 一起工作的方式(我还没有尝试过,但从教程来看)。我想要实现的是相同的功能,但是使用 Spark.ipyspark 的 zeppelin 笔记本。 Folium 功能将极大改善 zeppelin 笔记本的数据绘图功能。

我尝试的很简单:

import folium
m = folium.Map(location=[45.5236, -122.6750])
m

这仅返回 <folium.folium.Map at 0x10f4a3518>

接下来我尝试的是构建 HTML map ,将其保存在本地,然后调用它作为 zeppelin 段落的输出。

import folium
from IPython.display import HTML
from IPython.display import IFrame


m =folium.Map(
location=[45.5236, -122.6750],
tiles='Stamen Toner',
zoom_start=13
)

m.render_iframe = True
m.save('/Users/abc/m.html')

HTML("<iframe src=file:///Users/abc/m.html width=700 height=350></iframe>")

这又给了我:

<IPython.core.display.HTML object>

然后我将最后一行交换为:

IFrame("src=file:///Users/abc/m.html", width=700, height=350)

再说一遍:

<IPython.lib.display.IFrame at 0x112882c88>

当我尝试使用 python 打印时:

print("%html <iframe src=file:///Users/abc/m.html  width=700, height=350></iframe>")

我得到 700x350 空白白色窗口作为该段落的输出。当我尝试将 src 更改为例如“https://zeppelin.apache.org/ ”时,效果很好。

我觉得有两件事不太正常。1. Folium 模块与 zeppelin 笔记本无法正确调用 map 。2. 将本地 HTML 页面显示为 zeppelin 段落的输出。

有人尝试过吗?有人成功克服这个问题吗?

最佳答案

感谢您的建议,我可以通过添加以下内容来运行它:

html_string = m.get_root().render()

print("%html", html_string)

现在整个代码如下所示:

import folium

m =folium.Map(
location=[45.5236, -122.6750],
tiles='Stamen Toner',
zoom_start=13,
width=600,height=300
)
html_string = m.get_root().render()

print("%html", html_string)

编辑:使用上述方法修改整个飞艇笔记本的外观。我使用了不同的方法,使用 html_string = m._repr_html_() ,这是根据 jupyter 中用于在 iframe 中显示 HTML 的链接(github.com/python-visualization/folium/issues/781)。

现在编码:

import folium

m =folium.Map(
location=[45.5236, -122.6750],
tiles='Stamen Toner',
zoom_start=13,
width=600,height=300
)
html_string = m._repr_html_()
print("%html", html_string)

关于python - Zeppelin 和 Spark.pyspark 和 folium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51715877/

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