我正在尝试通过使用属性连接来合并 pandas 数据框和 geopandas 地理数据框。我正在使用美国县形状文件(https://geonet.esri.com/thread/24614第一响应)和 csv 文件(http://water.usgs.gov/watuse/data/2010/index.html然后将第一个 Excel 格式保存为 csv)。通过使用 FIPS 连接数据帧后,我会尝试打印新的地理数据帧,但只有标题会打印上面的 Empty GeoDataFrame 消息。这是我正在使用的代码
from matplotlib import pyplot as plt
import csv
import numpy as np
import datetime
import pandas as pd
import geopandas as gpd
import csv
from shapefile import Reader
df1 = pd.read_csv('usco2010.csv')
#Reads csv file and puts it into a dataframe
df2 = pd.DataFrame({'STATE':df1['STATE'],'COUNTY':df1['COUNTY'],'FIPS':df1['FIPS'],'Se rPop10^3':df1['TP-TotPop'],'WtrWthdrwl_MGD':df1['PS-WSWFr']})
#Takes the data we want from df1 and creates a new dataframe df2: Statename, County name, FIPS, Served Population in 1000s, Surface water withdrawls in MGD
counties = gpd.read_file('UScounties')
#creates a GeoDataFrame for the US counties by using UScounties shapefile
print(counties.head())
print(df2.head())
counties = counties.merge(df2, on='FIPS') #Empty GeoDataFrame
#merges counties and df2 with same FIPS
print(counties)
GeoDataFrame 不应该合并来自两个对象的数据吗?我想为新鲜的地表水提取制作一个 Choropleth 地图。
抱歉,如果我们不打算列出我们使用的数据,我想尽可能具体。我是 python 新手,所以如果这是一个简单的问题,我深表歉意,但是谷歌和在这个网站上的搜索没有显示已经回答的类似问题