ここもソート注文した指標を得るために維持kind = mergesort
とnp.argsort
を使用してのアプローチです。そこで、我々はそうのように、所望の出力のために、これらの指標とカラムとインデックス内の入力配列を積み重ねることができます -
In [172]: A
Out[172]: array([8, 2, 2, 1])
In [173]: B
Out[173]:
array(['John', 'Peter', 'Paul', 'Evans'],
dtype='|S5')
In [174]: sidx = A.argsort(kind='mergesort')
In [175]: np.column_stack((A,B))[sidx]
Out[175]:
array([['1', 'Evans'],
['2', 'Peter'],
['2', 'Paul'],
['8', 'John']],
dtype='|S21')
あなたは、出力配列の最初の列のint
タイプを維持したい場合は、あなたはそうのように、オブジェクトDTYPE配列を作成することができます -
arr = np.empty((len(A),2),dtype=object)
arr[:,0] = A
arr[:,1] = B
out = arr[sidx] # sidx is same as from previous approach
結果 -
In [189]: out
Out[189]:
array([[1, 'Evans'],
[2, 'Peter'],
[2, 'Paul'],
[8, 'John']], dtype=object)
は、それらのnumpyの配列ですまたはリスト? – Divakar
@DivakarこれらはNumPy配列です。 –
「ジョン」はどこで消えましたか?なぜポールは昇格したのですか?彼はポールライアンが好きですか? :) – Divakar