回答編集履歴
3
修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
クラスタ毎の最大値をとって、それをもとにソートすればよいかと思います。
|
2
|
-
なお、以下では最大値が同じクラスタが複数あった場合も考慮してクラスタ(名称)もキーにしています。
|
2
|
+
なお、以下では**最大値が同じクラスタが複数あった場合も考慮して**、クラスタ(名称)もキーにしています。
|
3
3
|
```Python
|
4
4
|
import pandas as pd
|
5
5
|
from io import StringIO
|
2
修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
クラスタ毎の最大値をとって、それをもとにソートすればよいかと思います。
|
2
|
-
なお、以下では最大値が同じクラスタが複数あった場合も考慮して
|
2
|
+
なお、以下では最大値が同じクラスタが複数あった場合も考慮してクラスタ(名称)もキーにしています。
|
3
3
|
```Python
|
4
4
|
import pandas as pd
|
5
5
|
from io import StringIO
|
@@ -14,7 +14,7 @@
|
|
14
14
|
df = pd.read_csv(StringIO(s))
|
15
15
|
|
16
16
|
df['max_cluster'] = df.groupby('cluster')['value'].transform('max')
|
17
|
-
df = df.sort_values(by=['max_cluster', '
|
17
|
+
df = df.sort_values(by=['max_cluster', 'cluster', 'value'], ascending=[False, True, False]).drop(columns=['max_cluster'])
|
18
18
|
print(df)
|
19
19
|
"""
|
20
20
|
value cluster
|
1
追記
answer
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
クラスタ毎の最大値をとって、それをもとにソートすればよいかと思います。
|
2
|
+
なお、以下では最大値が同じクラスタが複数あった場合も考慮して最後にクラスタ(名称)もキーにしています。
|
2
3
|
```Python
|
3
4
|
import pandas as pd
|
4
5
|
from io import StringIO
|
@@ -13,7 +14,7 @@
|
|
13
14
|
df = pd.read_csv(StringIO(s))
|
14
15
|
|
15
16
|
df['max_cluster'] = df.groupby('cluster')['value'].transform('max')
|
16
|
-
df = df.sort_values(by=['max_cluster', 'value'], ascending=[False, False]).drop(columns=['max_cluster'])
|
17
|
+
df = df.sort_values(by=['max_cluster', 'value', 'cluster'], ascending=[False, False, True]).drop(columns=['max_cluster'])
|
17
18
|
print(df)
|
18
19
|
"""
|
19
20
|
value cluster
|