使用pandas根据某一列的最大值选择另一列的内容

> #pandas 根据一列选择另一列最大的那个
>     t_os=op_train[["UID","os"]]
>     t_os["has_os_types"]=1
>     t_os=t_os.groupby(["UID","os"]).agg("sum").reset_index()
>     groups=t_os.groupby(["UID"])  
>     print(t_os.head(20))
>     l=groups.apply(lambda record:record["os"][record["has_os_types"].idxmax()])
>     l.head(10)

UID os has_os_types
0 10000 103 9
1 10001 102 49
2 10001 104 1
3 10001 200 17
4 10002 101 1

UID
10000 103
10001 102
10002 102
10003 102
10004 102

你可能感兴趣的:(Tool)