gpt4 book ai didi

python - 根据邮政编码在真实 map 上显示数据

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

我尝试在真实 map 上显示数据(数据应该在加拿大安大略省内):我有一个包含两列 A 和 B 的 .csv 文件,A 是邮政编码,B 是其关联值(整数,1 到 5) ,我想找到 A 映射到的区域并根据关联的值对其进行着色。例如。邮政编码 P0G、P0A(加拿大邮政编码的前 3 位数字,代表一个区域)与关联值 2 和 5,我想在这两个区域上显示不同的颜色(可能是绿色的 2 和红色的 5) map 。

我不知道如何 tbh,也许使用 Python 或某些网站服务或某些 API?我以前没有在真实 map 上可视化数据的经验。

我上面描述的问题是一个简化版本。实际问题有更多列(域),每行一个邮政编码,我需要|domains|为每个域生成的图形/ map 的数量。但我想一旦我知道如何做一个域,那么我应该能够做所有的事情。

我尝试使用一些在线分析工具,如SimplyAnalytics,但没有弄清楚如何同时显示多个不同颜色的区域。我试图搜索类似的问题,但似乎是由于不同的最终目标和数据格式,因此代码/方法的更改可能会有很大差异。

谢谢!!!

一些示例数据将是:
enter image description here

最佳答案

如果你想用 python 来做,你可以使用 geopandas 库。下面是一个示例代码 ( Github Gist )。首先,我们需要获取定义每个邮政编码(正向分类区域)(link)区域的 shapefile。然后过滤安大略的邮政编码,并将其与您要绘制的数据连接起来。

import geopandas
import pandas as pd
import pandas_bokeh
import matplotlib.pyplot as plt
pandas_bokeh.output_notebook()

canada = geopandas.read_file("./gfsa000b11a_e.shp")
ontario = canada[canada['PRUID'] == '35']

# Sample data to plot
df=pd.DataFrame({'PCODE': ['P0V','P0L','P0T','P0Y', 'P0G', 'P2N'], 'A':[6,3,5,2,2,4] })

# Join ontario dataset with sample data
new_df=ontario.join(df.set_index('PCODE'), on='CFSAUID')


new_df.plot_bokeh(simplify_shapes=20000,
category="A",
colormap="Spectral",
hovertool_columns=["CFSAUID","A"])

enter image description here

关于python - 根据邮政编码在真实 map 上显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58043978/

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