Я пытаюсь применить буфер к фрейму геоданных из 600 000 строк (как часть более крупного процесса), gdf содержит строки и мультистроки для геометрии. Когда я запускаю строку кода буфера:
gdf['buffer_geometry'] = gdf.buffer(305)
Я получаю следующую ошибку:
GEOSException: TopologyException: назначенные глубины не совпадают с -12250000 3700000
Я перебрал фрейм геоданных и обнаружил, что эта ошибка возникает в двух непоследовательных строках (индекс 4934 и индекс 80 023).
Меня не волнует расчет буфера для этих двух строк — вместо этого я хочу настроить в своем коде логику для вычисления буфера для всех строк, кроме тех двух, которые вызывают ошибку, и возвращать Нет в этих двух строках.
Я знаю, что это противоречит принципу работы pandas, но есть ли способ сделать это без перебора каждой строки? индивидуально? Мне нужно отдать приоритет успешному и быстрому выполнению большинства строк, а не заполнению каждой отдельной строки буфером.
Ниже приведен цикл по строкам, который я написал, чтобы проиллюстрировать, что я буду делать. хотелось бы достичь, но это слишком медленно для моих нужд.
# To stop the loop
max = len(gdf)
# Indices
start = 0
end = 1
failed_index = []
while start
Подробнее здесь: https://stackoverflow.com/questions/788 ... e-that-rai
Есть ли способ применить функцию geopandas ко всем строкам, кроме тех, которые вызывают ошибку? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Geopandas: как читать CSV и конвертировать в фрейм данных GeoPandas с многоугольниками?
Anonymous » » в форуме Python - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-