属性結合を使用して、pandasデータフレームとgeopandas geodataframeをマージしようとしています。私は米国の郡の形状ファイル(https://geonet.esri.com/thread/24614最初の応答)とcsvファイル(http://water.usgs.gov/watuse/data/2010/index.htmlの最初のExcel形式をcsvとして保存しています)を使用しています。データフレームがFIPSを使用して結合されたら、私は新しいジオデータフレームを印刷しようとしますが、ヘッダーだけが上のEmpty GeoDataFrameというメッセージで表示されます。ここに私が使用しているコードはあります.merge GeoPandasを使用すると空の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の初心者ですので、これは簡単な質問ですが謝罪しますが、このサイトの検索では、このサイトの検索でも同様の質問は表示されません。
はい、解決策です、ありがとうございます。一見すると、すべてが正しくマージされたように見えます。迅速な返信をありがとうございました。 –