- Сначала я преобразовал ваши данные в CSV, чтобы вам было легче с ними работать. (Вы все еще можете использовать разделение табуляции, но я думаю, что оно преобразуется в пробелы при переполнении стека)
- Я также добавил заголовок
a,timestamp,ip,ip2,b,c,data,d,e
89703,71.839532000,192.168.0.24,10.0.0.5,52222,5201,1514,1500,1448
89704,71.840310000,192.168.0.24,10.0.0.5,52222,5201,1514,1500,1448
89707,71.902452000,192.168.0.24,10.0.0.5,52222,5201,1514,1500,1448
89708,71.943320000,192.168.0.24,10.0.0.5,52222,5201,1514,1500,1448
89720,72.050930000,192.168.0.24,10.0.0.5,52222,5201,1514,1500,1448
89722,72.051725000,192.168.0.24,10.0.0.5,52222,5201,1514,1500,1448
89723,72.067882000,192.168.0.24,10.0.0.5,52222,5201,1514,1500,1448
89724,72.153261000,192.168.0.24,10.0.0.5,52222,5201,1514,1500,1448
89725,72.290161000,192.168.0.24,10.0.0.5,52222,5201,0
Затем я использовал панд, чтопопулярная библиотека обработки данных в python.
- считывает данные как csv
- , преобразует столбец отметки времени из числа (с плавающей запятой) в отметку времени (datetime)
- group byвременные метки 100 микросекунд (0,1 секунды), сумма и выбор столбца данных
import pandas as pd
data = pd.read_csv("sample_data.tsv")
data.timestamp = pd.to_datetime(data.timestamp, unit='ms')
data.groupby(pd.Grouper(key='timestamp', freq='100U')).sum()["data"]
Выход
timestamp
1970-01-01 00:00:00.071800 3028
1970-01-01 00:00:00.071900 3028
1970-01-01 00:00:00.072000 4542
1970-01-01 00:00:00.072100 1514
1970-01-01 00:00:00.072200 0
Другие данные тоже есть.
>>> data.groupby(pd.Grouper(key='timestamp', freq='100U')).sum()
a b c data d e
timestamp
1970-01-01 00:00:00.071800 179407 104444 10402 3028 3000.0 2896.0
1970-01-01 00:00:00.071900 179415 104444 10402 3028 3000.0 2896.0
1970-01-01 00:00:00.072000 269165 156666 15603 4542 4500.0 4344.0
1970-01-01 00:00:00.072100 89724 52222 5201 1514 1500.0 1448.0
1970-01-01 00:00:00.072200 89725 52222 5201 0 0.0 0.0
Это также может быть записано в csv с использованием панд.
Редактировать: у меня было имя переменной a
при кодировании фрагмента, затем изменил его на data
при публикации.