У меня есть некоторые данные в следующем формате:
1298501934.311 42.048
1298501934.311 60.096
1298501934.311 64.128
1298501934.311 64.839
1298501944.203 28.352
1298501966.283 6.144
1298501972.900 0
1298501972.939 0
1298501972.943 0
1298501972.960 0
1298501972.961 0
1298501972.964 0
1298501973.964 28.636
1298501974.215 27.52
1298501974.407 25.984
1298501974.527 27.072
1298501974.527 31.168
1298501974.591 30.144
1298501974.591 31.296
1298501974.83 27.605
1298501975.804 28.096
1298501976.271 23.879
1298501978.488 25.472
1298501978.744 25.088
1298501978.808 25.088
1298501978.936 26.24
1298501979.123 26.048
1298501980.470 23.75
1298501980.86 17.53
1298501982.392 22.336
1298501990.199 8.064
1298501997.943 0.256
1298501997.943 0.448
1298501997.943 0.512
1298501997.943 5.952
1298501997.946 0.448
1298501997.946 0.576
1298501997.946 5.44
Моя цель - получить максимальное значение из правого столбца для каждого уникального значения в левом столбце.Например, после обработки следующих 4 строк:
1298501997.943 0.256
1298501997.943 0.448
1298501997.943 0.512
1298501997.943 5.952
Я хотел бы получить только последнюю строку,
1298501997.943 5.952
, поскольку "5.952" является наибольшим значением для 1298501997.943
Аналогично для следующих строк:
1298501997.946 0.448
1298501997.946 0.576
1298501997.946 5.44
Я бы хотел получить:
1298501997.946 5.44
А для:
1298501990.199 8.064
просто:
1298501990.199 8.064
и так далее ...
Я пытался найти некоторые подсказки в awk / uniq / etc., Но не знал даже, как сформулировать запрос.Я мог бы написать скрипт на Python, но мне кажется, что работа с awk или некоторыми другими стандартными инструментами была бы более эффективной (особенно если у меня много данных - миллионы / десятки миллионов строк).
PS:Есть ли какой-нибудь модуль Python для таких сценариев обработки текста?
Спасибо