Với DataFrame sau:Cách tối đa hóa giá trị và giữ tất cả các cột (cho các bản ghi tối đa cho mỗi nhóm)?
+----+-----+---+-----+
| 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|
+----+-----+---+-----+
Làm thế nào tôi có thể nhận được giá trị tối đa từ uid
, k
nhưng bao gồm v
?
+----+-----+---+----------+
| uid| k| v|max(count)|
+----+-----+---+----------+
| a|pref1| b| 168|
| a|pref3| h| 168|
| a|pref2| z| 105|
+----+-----+---+----------+
tôi có thể làm một cái gì đó như thế này nhưng nó sẽ thả các cột "v":
df.groupBy("uid", "k").max("count")
gần như, nó thêm cột có giá trị tối đa nhưng nó giữ tất cả các hàng. – jfgosselin