ホームページ  >  記事  >  バックエンド開発  >  リストまたはブール配列を使用して NumPy で行ごとに特定の列を効率的に選択する方法は?

リストまたはブール配列を使用して NumPy で行ごとに特定の列を効率的に選択する方法は?

DDD
DDDオリジナル
2024-11-01 10:52:30343ブラウズ

How to Efficiently Select Specific Columns per Row in NumPy Using Lists or Boolean Arrays?

リストまたはブール配列を使用した NumPy の行ごとの特定の列の効率的な選択

NumPy は、多次元配列を操作するための広範な機能を提供します。ただし、各行のインデックスのリストに基づいて特定の列を選択するのは困難な場合があり、効率的な解決策が必要です。

この問題を解決する 1 つのアプローチは、ブール配列を利用することです。ブール配列の各列は、特定の行に対する希望の選択を表すことができます。ブール配列による直接選択を使用することで、特定の列を効率的に抽出できます。例:

<code class="python">import numpy as np

a = np.array([1, 2, 3])
b = np.array([[False, True, False], [True, False, False], [False, False, True]])
a[b]
# Output: [2, 4, 9]</code>

または、列の範囲を表す配列を作成し、それに対して直接選択を使用することもできます。ただし、このアプローチは常に最適であるとは限りません。

<code class="python">a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
a[np.arange(len(a)), [1, 0, 2]]
# Output: [2, 4, 9]</code>

これらのメソッドを活用すると、選択基準がリストとして提供されているかどうかに関係なく、NumPy 配列の行ごとに特定の列を効率的に選択できます。インデックスまたはブール配列。

以上がリストまたはブール配列を使用して NumPy で行ごとに特定の列を効率的に選択する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。