代码之家  ›  专栏  ›  技术社区  ›  Martin Thoma

我能在JQ找到argmax吗?

jq
  •  0
  • Martin Thoma  · 技术社区  · 5 年前

    以下数据集包含电影。我想找到最长的标题 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的知识,看看jq能走多远/它比熊猫更容易使用。

    1 回复  |  直到 5 年前
        1
  •  2
  •   oguz ismail FCulig    5 年前

    是的,你可以用 max_by 比如:

    max_by(.title | length).title
    

    或者,

    map(.title) | max_by(length)