16_NumPy配列ndarray行と列を任意の順序で並べます
9276 ワード
16_NumPy配列ndarray行と列を任意の順序で並べます
NumPy配列ndarrayの行と列は、派手なインデックスと呼ばれるメカニズムを使用して、任意の順序で並べ替えることができます(置き換えられます).
行と列の状況を別々に説明します.列を任意の順序で並べ替える .行を任意の順序で並べ替える .
np.sort()またはnp.argsort()を使用して、昇順または降順のソート(ソート)を行います.
詳細は以下の記事を参照してください. 15_Numpyはsortとargsort関数を用いて(行・列)並べ替え を行う.
次の2 Dアレイを例にとります.
列を任意の順序でソート
インデックスリストを任意の順序で参照することで、ソート後のndarrayを得ることができます.
反転する場合、スライス::-1はリストよりも簡単です.
特定のカラムのみを抽出(選択)することもできます.重複していても構いません.
任意の順序で行をソート
行は列と同じです.
後ろのインデックス::省略できます([...,:]は[...]に等しい).
NumPy配列ndarrayの行と列は、派手なインデックスと呼ばれるメカニズムを使用して、任意の順序で並べ替えることができます(置き換えられます).
行と列の状況を別々に説明します.
np.sort()またはnp.argsort()を使用して、昇順または降順のソート(ソート)を行います.
詳細は以下の記事を参照してください.
次の2 Dアレイを例にとります.
import numpy as np
a = np.arange(10, 35).reshape(5, 5)
print(a)
# [[10 11 12 13 14]
# [15 16 17 18 19]
# [20 21 22 23 24]
# [25 26 27 28 29]
# [30 31 32 33 34]]
列を任意の順序でソート
インデックスリストを任意の順序で参照することで、ソート後のndarrayを得ることができます.
col_swap = a[:, [3, 2, 4, 0, 1]]
print(col_swap)
# [[13 12 14 10 11]
# [18 17 19 15 16]
# [23 22 24 20 21]
# [28 27 29 25 26]
# [33 32 34 30 31]]
反転する場合、スライス::-1はリストよりも簡単です.
col_inverse = a[:, ::-1]
print(col_inverse)
# [[14 13 12 11 10]
# [19 18 17 16 15]
# [24 23 22 21 20]
# [29 28 27 26 25]
# [34 33 32 31 30]]
特定のカラムのみを抽出(選択)することもできます.重複していても構いません.
col_select = a[:, [2, 4, 0]]
print(col_select)
# [[12 14 10]
# [17 19 15]
# [22 24 20]
# [27 29 25]
# [32 34 30]]
col_select2 = a[:, [2, 2, 2]]
print(col_select2)
# [[12 12 12]
# [17 17 17]
# [22 22 22]
# [27 27 27]
# [32 32 32]]
任意の順序で行をソート
行は列と同じです.
後ろのインデックス::省略できます([...,:]は[...]に等しい).
row_swap = a[[3, 2, 4, 0, 1], :]
print(row_swap)
# [[25 26 27 28 29]
# [20 21 22 23 24]
# [30 31 32 33 34]
# [10 11 12 13 14]
# [15 16 17 18 19]]
row_swap = a[[3, 2, 4, 0, 1]]
print(row_swap)
# [[25 26 27 28 29]
# [20 21 22 23 24]
# [30 31 32 33 34]
# [10 11 12 13 14]
# [15 16 17 18 19]]
row_inverse = a[::-1]
print(row_inverse)
# [[30 31 32 33 34]
# [25 26 27 28 29]
# [20 21 22 23 24]
# [15 16 17 18 19]
# [10 11 12 13 14]]
row_select = a[[2, 4, 0]]
print(row_select)
# [[20 21 22 23 24]
# [30 31 32 33 34]
# [10 11 12 13 14]]
row_select2 = a[[2, 2, 2]]
print(row_select2)
# [[20 21 22 23 24]
# [20 21 22 23 24]
# [20 21 22 23 24]]