Подсчитайте возникновение каждого типа событий во временном окне в Pandas.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Подсчитайте возникновение каждого типа событий во временном окне в Pandas.

Сообщение Anonymous »

У меня есть DataFrame со следующей структурой:
  • event_timestamp: временная метка каждого события.
  • event_type: Тип события.
Мне нужно добавить столбец для каждого уникального event_type, чтобы подсчитать, сколько
событий этого event_type произошло в течение 10 мс. окно перед
каждым event_timestamp строки.

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

data = {
'event_timestamp': [
'2024-02-01 08:02:09.065315961', '2024-02-01 08:02:09.125612099', '2024-02-01 08:02:09.160326512',
'2024-02-01 08:02:09.540206541', '2024-02-01 08:02:09.571751697', '2024-02-01 08:02:09.571784060',
'2024-02-01 08:02:09.574368029', '2024-02-01 08:02:09.574390737', '2024-02-01 08:02:09.578245099',
'2024-02-01 08:02:10.077399943', '2024-02-01 08:02:10.077424252', '2024-02-01 08:02:10.081648527'
],
'event_type': [
'A', 'B', 'A', 'A', 'C', 'B', 'A', 'C', 'B', 'A', 'C', 'B'
]
}

df = pd.DataFrame(data)
df['event_timestamp'] = pd.to_datetime(df['event_timestamp'])
Для приведенного выше ввода мне нужен такой результат:

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

             event_timestamp         event_type  count_A  count_B  count_C
0  2024-02-01 08:02:09.065315961          A        1        0        0
1  2024-02-01 08:02:09.125612099          B        0        1        0
2  2024-02-01 08:02:09.160326512          A        1        0        0
3  2024-02-01 08:02:09.540206541          A        2        0        0
4  2024-02-01 08:02:09.571751697          C        2        0        1
5  2024-02-01 08:02:09.571784060          B        1        1        0
6  2024-02-01 08:02:09.574368029          A        3        0        0
7  2024-02-01 08:02:09.574390737          C        3        0        1
8  2024-02-01 08:02:09.578245099          B        2        1        0
9  2024-02-01 08:02:10.077399943          A        3        0        0
10 2024-02-01 08:02:10.077424252          C        3        0        1
11 2024-02-01 08:02:10.081648527          B        2        1        0
  • Столбцы count_A, count_B и count_C представляют количество произошедших событий типа event_type «A», «B» и «C». в течение 10 мс перед event_timestamp каждой строки.
  • Например, для строки с event_timestamp 2024-02-01 08:02:09.065315961, мы видим:

    count_A равен 1, потому что в течение 10 мс до этой временной метки произошло 1 событие типа «A».
  • count_B равен 0, а count_C равен 0, поскольку в этом окне не было событий типа «B» или «C».


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

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

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

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

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

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

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