我有一个简单的 pandas DataFrame,其中包含一个欧洲国家名称列表,每个国家都有一个分值。我想在 Jupyter 笔记本中显示欧洲地图,每个国家都根据该分数着色。我希望这张地图是一个简单的渲染图像(不依赖于谷歌地图之类的东西)。怎么可能做到这一点?
import pandas as pd
df = pd.DataFrame(
[
["Norway" , 7.537],
["Denmark" , 7.522],
["Switzerland", 7.494],
["Finland" , 7.469],
["Netherlands", 7.377],
],
columns = [
"country",
"score"
]
)
我已经搜索了执行此操作的工具,但要找到比我预期的更强大的东西更难。我找到的最近的是Vincent,但现在似乎不受支持。它可以以如下方式使用:
import vincent
vincent.core.initialize_notebook()
geographic_data = [{
"name": "states",
"url": "https://raw.githubusercontent.com/wrobstory/vincent_map_data/master/us_states.topo.json",
"feature": "us_states.geo"
}]
vis = vincent.Map(
geo_data = geographic_data,
scale = 1000,
projection = "albersUsa"
)
vis.display()
什么是这样做的好方法?