Группирование полного списка баллов с использованием упрощенных баллов, включительно?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Группирование полного списка баллов с использованием упрощенных баллов, включительно?

Сообщение Anonymous »

У меня есть массив формы (A, 2) упрощенных точек. У меня также есть полный массив (b, 2) не смягченные точки. То, что я хочу сделать, это сгруппировать точки как таковые, где показанная большая точка - упрощенная точка, а небольшие точки - полные точки. Обратите внимание, что каждая точка в упрощенном также существует в полном объеме:

Итак, я написал этот код, но я чувствую, что он может быть чрезмерно сложным:

PrettyPrint-Override ">def group_points(simple, all):
v1 = simple.view('int32,int32').squeeze()
v2 = all.view('int32,int32').squeeze()

starts = np.where(np.isin(v2, v1))[0]

ends = np.roll(starts, -1)
ends[-1] += len(all)

grouped = [
v2.take(np.arange(start, end + 1), mode='wrap').view(all.dtype).reshape(-1, 2)
for start, end in zip(starts, ends)
]

return grouped

< /code>
То, что он делает, - это найти, где случаи упрощенных точек находятся в полных точках, а затем группируют их инклюзивно, когда они обертываются. Причина этого в том, что мы хотим подключить последнюю точку обратно к первой точке. Есть лучший способ?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -inclusive
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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