Могу ли я получить argmax в JQ? - PullRequest
0 голосов
/ 03 ноября 2019

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

$ wget https://raw.githubusercontent.com/prust/wikipedia-movie-data/master/movies.json
$ cat movies.json | jq '[.[] | .title | length] | max'

Так что самый длинный заголовок имеет 110 символов. Следующий запрос показывает это мне:

$ cat movies.json | jq '.[] | .title | select(length==110)' 
"Cornell-Columbia-University of Pennsylvania Boat Race at Ithaca, N.Y., Showing Lehigh Valley Observation Train"

Можно ли напрямую получить argmax?

Фон

В настоящее время я пытаюсь сделать то, что я могу сделать с jq для разведочного анализа данных. Обычно я использовал бы Панды для большей части этого. Однако недавно у меня был пример, когда jq был просто супер удобен. Поэтому я хочу узнать больше об этом, чтобы увидеть, как далеко может зайти jq / где его легче использовать, чем Pandas.

1 Ответ

2 голосов
/ 03 ноября 2019

Да, вы можете использовать max_by, например:

max_by(.title | length).title

или

map(.title) | max_by(length)
...