argMinIf
説明
If コンビネータは、argMin
関数に適用することで、条件が真となる行について val の最小値に対応する arg の値を求めることができます。この処理には argMinIf 集約コンビネータ関数を使用します。
argMinIf 関数は、データセット内で最小値に対応する値を特定する必要があるものの、
特定の条件を満たす行に限定してそれを行いたい場合に有用です。
使用例
この例では、商品価格とそのタイムスタンプを格納するテーブルを作成し、
在庫がある場合に各商品の最安値を求めるために argMinIf を使用します。
argMinIf 関数は、in_stock = 1 の行のみを対象に、各商品について最も早いタイムスタンプに対応する price を求めます。例えば次のとおりです。
- 商品 1: 在庫ありの行の中では、10.99 のタイムスタンプが最も早い (10:00:00)
- 商品 2: 在庫ありの行の中では、20.99 のタイムスタンプが最も早い (11:00:00)