如何将 pandas df 与 geopandas df 合并以在 shapefile 上绘图

我正在使用以下 shapefile,可以在 Github 上找到该文件。我不会包含输出,但这里是将其作为 geopandas df 读取并绘制 shapefile 的代码。

states = geopandas.read_file('usa-states-census-2014.shp')
states.head()

states.plot()

我还有以下 df,这是USArrests可以在 Kaggle 上找到的数据集。

我想做的是合并两个数据集,这样我就可以使用USArrests. 我运行以下代码来合并数据集。

df = pd.read_csv("USArrests.csv")
df.rename(columns = {'Unnamed: 0':'NAME'}, inplace = True)
merged = pd.merge(df, states, on=['NAME']).drop_duplicates(subset=['NAME'])

合并有效,但现在当我运行时,states.plot()我得到了一个线图,我假设这是因为 df 不再是GeoDataFrame.

我的问题是,如何从中获取数据USArrests并使用它在形状文件上绘制颜色图?谢谢!

一只名叫tom的猫
浏览 132回答 1
1回答

皈依舞

使用GeoDataFrame.merge方法。这样它仍然是 GeoDataFrame。在你的情况下发生的事情merged只是 pandas.DataFrame 。merged = states.merge(df, on='NAME').drop_duplicates(subset=['NAME'])我猜测有点正确的形式,因为您没有显示任何数据帧的结构。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python