首页 > 解决方案 > 如何在 Python 中创建等值线图?

问题描述

如何使用下面的 pandas 数据框创建等值线图?

df.head()
Postal  Code   Latitude   Longitude  Average Price
0        M1B  43.806686  -79.194353  $880,124
1        M1C  43.784535  -79.160497  $1,416,183
2        M1E  43.763573  -79.188711  $1,081,779
3        M1G  43.770992  -79.216917  $912,943
4        M1H  43.773136  -79.239476  $929,923

使用这些数据创建地图的最佳方法是什么?

标签: pythonpandasdataframedata-visualizationchoropleth

解决方案


python中有几个地图可视化库。作为示例,我将展示plotly和 mapbox 的组合。这需要获取 mapbox 的APIkey

import pandas as pd
import numpy as np
import io

data = '''
"Postal  Code"   Latitude   Longitude  "Average Price"
0        M1B  43.806686  -79.194353  $880,124
1        M1C  43.784535  -79.160497  $1,416,183
2        M1E  43.763573  -79.188711  $1,081,779
3        M1G  43.770992  -79.216917  $912,943
4        M1H  43.773136  -79.239476  $929,923
'''

df = pd.read_csv(io.StringIO(data), delim_whitespace=True)
df['Average Price'] = df['Average Price'].str.replace(',','').str.replace('$','').astype(int)

import plotly.express as px
px.set_mapbox_access_token(open("mapbox_API_key.txt").read())

fig = px.scatter_mapbox(df, lat="Latitude", lon="Longitude", color="Average Price", size="Average Price",
                  color_continuous_scale=px.colors.cyclical.IceFire, size_max=15, zoom=10)
fig.show()

在此处输入图像描述


推荐阅读