Geopandalarda benzer veri çerçevelerine katılmak (concat)?


16

Ben, aynı yapı ve hepsi çokgenler olan bir veri kareleri listesi var.

Geopandaları kullanarak hepsini nasıl ekleyebilirim?

Yanıtlar:


29

şu anda bunu yapmanın doğru yolu olduğu anlaşılıyor:

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

8
Güzel cevap, bir gelişme: rdf = gpd.GeoDataFrame(pd.concat(dataframesList, ignore_index=True), crs=dataframesList[0].crs). Şimdi yeni veri çerçevesi de ilk veri çerçevelerinden biriyle aynı CRS'ye sahip olacak. pandas.concatCRS gibi coğrafi meta veriler kullanıldığından , varsayılan olarak korunmaz.
AleksMat

Bu iyi çalışıyor - teşekkürler. Ben bir dosya "adı" ve başka bir "Adı" olduğunda ek sapık gidebilir buldum, ben bir dosyadan satırlar için her iki sütunda hiçbir şey ile sona erdi. Güvenilir bir şekilde çoğaltamadım, bu yüzden güvenilir gibi görünen sütun ezmeyi basitleştirmek için sütun adlarını küçük harfe zorladım.
Mike Honey

15

Ben sadece bunu denedim - belki GeoPandas 0.2.1 ve Pandalar 0.20.3 biraz daha kısa:

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

gdf otomatik olarak bir GeoDataFrame olarak oluşturulur. Elbette çakışan endekslerin şansı varsa, 'ignore_index = True' parametresini korumak isteyeceksiniz.


3
Sadece denedim ve işe yaramadığını onaylayabilirim (pandas_0.20.3 geopandas_0.3.0 kullanarak). Sonuç GeoDataFrame değil, DataFrame'dir. Örneğin, eğer kullanmaya çalışırsanız gdf1.to_file(xxx, driver='ESRI Shapefile')bir hata 'DataFrame' object has no attribute 'to_file'
mesajı

@jberrio güncelleme için teşekkürler! GeoPandas'a yapılan güncelleme işleri daha açık hale getirdi.
Charlie Parr

1
İstenen moderatörlerin Kabul onay işaretini kaldırması için işaretleyicinin lütfen bunun mümkün olmadığını unutmayın. Meta.stackexchange.com/a/187263/215590 adresinden gelen bir çözüm olarak yanıtı silmeyi denedim, ancak yanıtlayan yanıtın silinmesini istedi. Kabul edilemez cevaplarla başa çıkmak için artık doğru olmayacak uzun vadeli bir çözüm meta.stackexchange.com/questions/268666/…
PolyGeo

Pandalar sürümü: 0.24.2 ve geopandas sürümü: 0.5.0
denson
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.