我想为每个 id 获取单行,其中仅存在 Charge 列的最大值。
示例输入数据:
id name charge
11 hg 10
11 mm 20
22 aa 40
22 bb 40
Run Code Online (Sandbox Code Playgroud)
我试过的代码:
df.agg(max("charge"))
Run Code Online (Sandbox Code Playgroud)
我只得到最大值,如下所示:
charge
40
Run Code Online (Sandbox Code Playgroud)
但是,我想保留整行:
id name charge
11 mm 20
22 aa 40
22 bb 40
Run Code Online (Sandbox Code Playgroud)
如何保留前两列?name 列对于相同的 id 可以有不同的值,因此不可能groupBy在这两个列上使用并聚合结果。
如果两行具有相同的 id 并收费,则应保留两行。