我正在嘗試將從美國(guó)縣的 shapefile 創(chuàng)建的大約 3233 條記錄的 DBF 轉(zhuǎn)換為數(shù)據(jù)框;然后我想從該數(shù)據(jù)框中獲取兩列并轉(zhuǎn)換為字典,其中column1鍵和column2值是。但是,生成的字典與我的數(shù)據(jù)框的記錄數(shù)不同。我使用 arcpy 調(diào)用所有美國(guó)縣的 shapefile。當(dāng)我使用 arcpy.GetCount_management(county_shapefile) 時(shí),這將返回 3233 條記錄的特征計(jì)數(shù)。為了轉(zhuǎn)換為數(shù)據(jù)框,我首先使用 arcpy.TableToTableconversion() 轉(zhuǎn)換為 dbf,這將返回一個(gè)包含 3233 條記錄的 dbf。使用 simpledbf 中的 Dbf5 轉(zhuǎn)換為 df 后,我得到一個(gè)包含 3233 條記錄的 df。然后,我將前兩列轉(zhuǎn)換為返回 56 條記錄的字典。誰能告訴我這里發(fā)生了什么?(我最近從 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}我也試過用這個(gè).to_dict()函數(shù)做這個(gè),但我沒有得到想要的字典結(jié)構(gòu) {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()最后,我希望創(chuàng)建一個(gè)字典,其中鍵是縣 FIPS 代碼 (COUNTYFP),值是州 FIPS 代碼 (STATEFP)。我不想有任何嵌套字典,只是一個(gè)具有格式的簡(jiǎn)單字典......dict={ COUNTYFP1:STATEFP1, COUNTYFP2:STATEFP2, COUNTYFP3:STATEFP3, ....}
添加回答
舉報(bào)
0/150
提交
取消