Приєднання (перелік) подібних кадрів даних у геопандах?


16

У мене є список фреймів даних, всі однакові за структурою і всі є багатокутниками.

Як я можу додати їх усі разом за допомогою геопанд?

Відповіді:


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.concatбудь-яких географічних метаданих, таких як CRS, не зберігається за замовчуванням.
AleksMat

Це добре працює - дякую. Я знайшов, що додаток може заблукати, наприклад, коли в одному файлі є "ім'я", а в іншому - "ім'я", я не виявив нічого в жодному стовпці для рядків з одного файлу. Я не міг її надійно відтворити, тому я в кінцевому підсумку змусив імена стовпців в нижній регістр, щоб спростити зчитування стовпців, що здається надійним.
Майк Мед

15

Я просто експериментував з цим - можливо, в 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). Результат - це DataFrame, а не GeoDataFrame. Наприклад, якщо ви спробуєте використати, gdf1.to_file(xxx, driver='ESRI Shapefile')ви отримаєте помилку, яка говорить'DataFrame' object has no attribute 'to_file'
jberrio

@jberrio дякую за оновлення! схоже, оновлення GeoPandas зробило речі більш явними.
Чарлі Парр

1
Якщо прапорщик, який просив модераторів зняти галочку Accept, майте на увазі, що цього зробити неможливо. Як вирішення мета.stackexchange.com/ a/ 187263/215590 я спробував видалити відповідь, але відповідач попросив її відмінити. На мета.stackexchange.com
questions/

Для мене це спрацювало у версії панди: 0.24.2 та версії geopandas: 0.5.0
денсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.