如何解决如何将熊猫df与地理熊猫df合并以在shapefile上绘图
我正在使用以下here on Github可以找到的shapefile。我不会包含输出,但是这里是将其读取为geopandas df并绘制shapefile的代码。
states = geopandas.read_file('usa-states-census-2014.shp')
states.head()
states.plot()
我还具有以下df,即here on Kaggle上的USArrests
数据集。
我想做的是合并两个数据集,以便可以用USArrests
中要素的颜色图来绘制shapefile。我运行了以下代码以合并数据集。
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
中获取数据并使用它在shapefile上绘制颜色图?谢谢!
请注意,我正在使用以下guide来帮助我,但这并不涵盖我的特定任务
解决方法
使用GeoDataFrame.merge
方法。这样,它仍然是GeoDataFrame。您遇到的情况是merged
仅是pandas.DataFrame。
merged = states.merge(df,on='NAME').drop_duplicates(subset=['NAME'])
由于您未显示任何数据帧的结构,我猜测正确的格式有点。请参阅文档以了解更多https://geopandas.readthedocs.io/en/latest/docs/user_guide/mergingdata.html?highlight=merge#attribute-joins
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。