[解決済み] NumPyはインデックスのリストを使って、行ごとに特定の列インデックスを選択します。
2022-09-09 13:49:16
質問
NumPyの行列の行ごとの特定の列を選択するのに苦労しています。
私が以下のような行列を持っているとします。
X
:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
また
list
と呼んでいる、各行ごとのカラムインデックスの
Y
:
[1, 0, 2]
値を取得したい
[2]
[4]
[9]
の代わりに
list
というインデックスを持つ
Y
と同じ形状の行列を作ることもできます。
X
ここで,各列は
bool
/
int
のように、0-1の値で、これが必須のカラムであるかどうかを示します。
[0, 1, 0]
[1, 0, 0]
[0, 0, 1]
配列に対して反復処理を行い、必要な列の値を選択することで実現できることは知っています。しかし、これは大きなデータの配列に対して頻繁に実行されるため、できる限り高速に実行する必要があります。
したがって、私はより良いソリューションがあるかどうか疑問に思っていました。
どのように解決するのですか?
boolean配列があれば、それを元に以下のように直接選択することができます。
>>> a = np.array([True, True, True, False, False])
>>> b = np.array([1,2,3,4,5])
>>> b[a]
array([1, 2, 3])
最初の例に沿って、次のようにすることができます。
>>> a = np.array([[1,2,3], [4,5,6], [7,8,9]])
>>> b = np.array([[False,True,False],[True,False,False],[False,False,True]])
>>> a[b]
array([2, 4, 9])
また
arange
を追加して、それを直接選択することもできます。
>>> a = np.array([[1,2,3], [4,5,6], [7,8,9]])
>>> a[np.arange(len(a)), [1,0,2]]
array([2, 4, 9])
お役に立てれば幸いです。また何か質問があれば教えてください。
関連
-
[解決済み] pandas series/dataframeの行を整数インデックスで選択する。
-
[解決済み] NumPyで空の配列/行列を作成する方法は?
-
[解決済み】pandasの関数をカラムに適用して、複数の新しいカラムを作成する?
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Python Empty Generator 関数
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonです。未束縛のメソッドを束縛する?
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] バブルソートの宿題
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?