我正在尝试将从美国县的 shapefile 创建的大约 3233 条记录的 DBF 转换为数据框;然后我想从该数据框中获取两列并转换为字典,其中column1键和column2值是。但是,生成的字典与我的数据框的记录数不同。我使用 arcpy 调用所有美国县的 shapefile。当我使用 arcpy.GetCount_management(county_shapefile) 时,这将返回 3233 条记录的特征计数。为了转换为数据框,我首先使用 arcpy.TableToTableconversion() 转换为 dbf,这将返回一个包含 3233 条记录的 dbf。使用 simpledbf 中的 Dbf5 转换为 df 后,我得到一个包含 3233 条记录的 df。然后,我将前两列转换为返回 56 条记录的字典。谁能告诉我这里发生了什么?(我最近从 Python 2 切换到 Python 3,这可能是问题的一部分吗?)代码:county_shapefile = "U:/Shapefiles/tl_2018_us_county/tl_2018_us_county.shp"dbf = arcpy.TableToTable_conversion(county_shapefile,"U:/","county_data.dbf")from simpledbf import Dbf5dbfile = Dbf5(str(dbf))df = dbfile.to_dataframe()df_dict = {row[0]:row[1] for row in df.values}我也试过用这个.to_dict()函数做这个,但我没有得到想要的字典结构 {column1:column2,column1:column2...}from simpledbf import Dbf5dbfile=Dbf5(str(dbf))df=dbfile.to_dataframe()subset=df[["STATEFP","COUNTYFP"]]subset=subset.set_index("COUNTYFP")dict=subset.to_dict()最后,我希望创建一个字典,其中键是县 FIPS 代码 (COUNTYFP),值是州 FIPS 代码 (STATEFP)。我不想有任何嵌套字典,只是一个具有格式的简单字典......dict={ COUNTYFP1:STATEFP1, COUNTYFP2:STATEFP2, COUNTYFP3:STATEFP3, ....}
添加回答
举报
0/150
提交
取消