geopandas에서 유사한 데이터 프레임 목록에 합류 (연결) 하시겠습니까?


15

데이터 프레임 목록이 있으며 모두 동일한 구조이며 다각형입니다.

geopandas를 사용하여 어떻게 모두 추가 할 수 있습니까?

답변:


28

이것이 현재 올바른 방법으로 보입니다.

rdf = gpd.GeoDataFrame( pd.concat( dataframesList, ignore_index=True) )

8
좋은 답변, 한 가지 개선 : rdf = gpd.GeoDataFrame(pd.concat(dataframesList, ignore_index=True), crs=dataframesList[0].crs). 이제 새 데이터 프레임에는 초기 데이터 프레임 중 하나와 동일한 CRS가 있습니다. pandas.concatCRS와 같은 지리적 메타 데이터 를 사용하기 때문에 기본적으로 보존되지 않습니다.
AleksMat

이것은 잘 작동합니다-감사합니다. 하나의 파일에 "name"이 있고 다른 파일에 "Name"이 있으면 추가 파일이 엉망이 될 수 있다는 것을 알았습니다. 나는 그것을 안정적으로 재현 할 수 없었기 때문에 열 매싱을 단순화하기 위해 열 이름을 소문자로 강요했습니다.
Mike Honey

14

방금 이것으로 실험했습니다-아마도 GeoPandas 0.2.1과 Pandas 0.20.3에서는 조금 더 간결합니다.

gdf = pd.concat([gdf1, gdf2])

gdf는 GeoDataFrame으로 자동 생성됩니다. 물론 인덱스가 충돌 할 가능성이있는 경우 'ignore_index = True'매개 변수를 유지해야합니다.


3
방금 시도한 결과 작동하지 않는 것을 확인할 수 있습니다 (pandas_0.20.3 geopandas_0.3.0 사용). 결과는 GeoDataFrame이 아닌 DataFrame입니다. 예 사용하려고하면 gdf1.to_file(xxx, driver='ESRI Shapefile')당신라는 오류 얻을 것이다'DataFrame' object has no attribute 'to_file'
jberrio

@jberrio 업데이트 주셔서 감사합니다! GeoPandas의 업데이트로 상황이 더욱 명확 해졌습니다.
Charlie Parr

1
중재자를 요청한 신고자에 대해 수락 확인 표시를 제거하면이 작업을 수행 할 수 없습니다. meta.stackexchange.com/a/187263/215590 에서 해결 방법으로 답변을 삭제하려고 시도했지만 답변자가 삭제를 취소하도록 요청했습니다. 더 이상 정확하지 않을 수 있습니다 허용 답변 처리에 대한 장기적인 해결책으로 제안되었다 meta.stackexchange.com/questions/268666/...
PolyGeo

이것은 판다 버전 : 0.24.2 및 geopandas 버전 : 0.5.0에서 나에게 잘 작동했습니다.
denson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.