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

回答編集履歴

2

参照追加

2021/12/07 10:51

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -18,4 +18,9 @@
18
18
  [['acac' 'xxx' 'vr101']
19
19
  ['abab' 'xxx' 'vr201']
20
20
  ['acaa' 'xxx' 'vr301']]
21
- ```
21
+ ```
22
+
23
+ 参考
24
+
25
+ [公式ドキュメント 組込み関数 sorted](https://docs.python.org/ja/3/library/functions.html#sorted)
26
+ [NumPyのsortとargsort関数で任意の行・列を基準にソート](https://note.nkmk.me/python-numpy-sort-argsort/)

1

numpyの場合を追加

2021/12/07 10:51

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -5,5 +5,17 @@
5
5
  [['acaa', 'xxx', 'vr301'], ['abab', 'xxx', 'vr201'], ['acac', 'xxx', 'vr101']]
6
6
  >>> print(sorted(data, key=lambda x: x[2]))
7
7
  [['acac', 'xxx', 'vr101'], ['abab', 'xxx', 'vr201'], ['acaa', 'xxx', 'vr301']]
8
+ ```
8
9
 
10
+ numpyのndarrayなら以下です。
11
+
12
+ ```python
13
+ >>> print(a)
14
+ [['acaa' 'xxx' 'vr301']
15
+ ['abab' 'xxx' 'vr201']
16
+ ['acac' 'xxx' 'vr101']]
17
+ >>> print(a[np.argsort(a[:,2])])
18
+ [['acac' 'xxx' 'vr101']
19
+ ['abab' 'xxx' 'vr201']
20
+ ['acaa' 'xxx' 'vr301']]
9
21
  ```