Есть ли способ применить функцию geopandas ко всем строкам, кроме тех, которые вызывают ошибку?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли способ применить функцию geopandas ко всем строкам, кроме тех, которые вызывают ошибку?

Сообщение Anonymous »

Я пытаюсь применить буфер к фрейму геоданных из 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»