:値を最大にしてすべての列を保持する方法(グループあたりの最大レコード数)?以下のデータフレームを考える
+----+-----+---+-----+
| uid| k| v|count|
+----+-----+---+-----+
| a|pref1| b| 168|
| a|pref3| h| 168|
| a|pref3| t| 63|
| a|pref3| k| 84|
| a|pref1| e| 84|
| a|pref2| z| 105|
+----+-----+---+-----+
がどのように私は、uid
から最大値を取得k
が、v
を含めることができますか?
+----+-----+---+----------+
| uid| k| v|max(count)|
+----+-----+---+----------+
| a|pref1| b| 168|
| a|pref3| h| 168|
| a|pref2| z| 105|
+----+-----+---+----------+
私はこのような何かを行うことができますが、それはコラム「V」ドロップします:あなたはウィンドウ関数を使用することができます
df.groupBy("uid", "k").max("count")
ほとんどの場合、最大値の列が追加されますが、すべての行が保持されます。 – jfgosselin