Замените перекрывающиеся интервалы непересекающимися интервалами в кадре данных.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Замените перекрывающиеся интервалы непересекающимися интервалами в кадре данных.

Сообщение Anonymous »

Мне нужно очистить фрейм данных, удалив все перекрывающиеся интервалы. Обычно кадр данных выглядит следующим образом:

Код: Выделить всё

   start    end     speaker
0   0.03   0.33  SPEAKER_02
1   1.24   6.91  SPEAKER_02
2   1.38   2.03  SPEAKER_00
3   7.11   9.64  SPEAKER_02
4   9.80  21.02  SPEAKER_02
5  15.37  15.52  SPEAKER_01
6  16.55  16.80  SPEAKER_00
7  21.36  26.40  SPEAKER_02
8  26.76  27.01  SPEAKER_02
В случае перекрытия строк я бы хотел просто создать новые строки без перекрытия.
Исходные строки 1 и 2 превратятся в 3 строки со следующими неперекрывающимися интервалами:

Код: Выделить всё

1   1.24   1.37  SPEAKER_02
2   1.38   2.03  SPEAKER_00
3   2.04   6.91  SPEAKER_02
Исходные строки 4, 5 и 6 превратятся в 4 строки со следующими непересекающимися интервалами:

Код: Выделить всё

4   9.80  15.36  SPEAKER_02
5  15.37  15.52  SPEAKER_01
6  15.53  16.54  SPEAKER_02
7  16.55  16.80  SPEAKER_00
Таким образом, выходной кадр данных превратится в 10 строк этих непересекающихся интервалов:

Код: Выделить всё

    start    end     speaker
0   0.03   0.33  SPEAKER_02
1   1.24   1.37  SPEAKER_02
2   1.38   2.03  SPEAKER_00
3   2.04   6.91  SPEAKER_02
4   7.11   9.64  SPEAKER_02
5   9.80  15.36  SPEAKER_02
6  15.37  15.52  SPEAKER_01
7  15.53  16.54  SPEAKER_02
8  16.55  16.80  SPEAKER_00
9  21.36  26.40  SPEAKER_02
10  26.76  27.01  SPEAKER_02
Как всегда, данные огромны, и эффективность имеет значение.
Я попробовал встроенный интервальный анализ, но все время отступал использовать пользовательские циклы for, потому что в конечном итоге мне нужно изменить строки.

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

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

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

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

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

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

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