我有一个 Dataframe ,如下所示:
DURATION CLUSTER COEFF
3 0 0.34
3 1 -0.005
3 2 1
3 3 0.33
4 0 -0.02
4 1 -0.28
4 2 0.22
4 3 0.48
5 0 0.65
5 1 -0.26
5 2 0.1
5 3 0.15
我想根据每个“DURATION”的“COEFF”系数创建一个RESULT分类列。“COEFF”值最大的列将是“First”,依此类推。
所需输出如下:
DURATION CLUSTER COEFF RESULT
3 0 0.34 Second
3 1 -0.005 Fourth
3 2 1 First
3 3 0.33 Third
4 0 -0.02 Third
4 1 -0.28 Fourth
4 2 0.22 Second
4 3 0.48 First
5 0 0.65 First
5 1 -0.26 Fourth
5 2 0.1 Third
5 3 0.15 Second
你能帮我一下吗?
2条答案
按热度按时间bvhaajcl1#
使用
groupby.rank
和map
:输出量:
jhdbpxl92#
基于https://stackoverflow.com/a/74547858/7237062出色的答案(* 我自己也不会这么快找到这个答案 *),我建议使用这个Ordinal numbers replacement来完全自动化这个过程。
结果: