LoginSignup
1
2

More than 5 years have passed since last update.

2 つの配列を結合して、片方の要素に基づいてソートしたい

Last updated at Posted at 2018-08-08

ほぼ個人用メモですが…

やりたいこと

NumPy でこれを

[2, 1, 3]
[18, 54, 43]

こうして

[[2, 18],
 [1, 54],
 [3, 43]]

こうしたい

[[1, 54],
 [2, 18],
 [3, 43]]

方法

>>> import numpy as np
>>> array_1 = np.asarray([2, 1, 3])
>>> array_2 = np.asarray([18, 54, 43])
>>> array_3 = np.column_stack((array_1, array_2))
>>> array_3
array([[ 2, 18],
       [ 1, 54],
       [ 3, 43]])
>>> array_4 = array_3[array_3[:, 0].argsort(), :]
>>> array_3[:, 0].argsort()
array([1, 0, 2])
>>> array_4
array([[ 1, 54],
       [ 2, 18],
       [ 3, 43]])

参考

1
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2