質問するログイン新規登録

回答編集履歴

3

修正

2023/08/09 12:47

投稿

8524ba23
8524ba23

スコア38350

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

修正

2023/08/08 03:57

投稿

8524ba23
8524ba23

スコア38350

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', 'value', 'cluster'], ascending=[False, False, True]).drop(columns=['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

追記

2023/08/08 03:55

投稿

8524ba23
8524ba23

スコア38350

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