ホームページ > バックエンド開発 > Python チュートリアル > NumPy 配列内で一意の行を効率的に見つけるにはどうすればよいですか?

NumPy 配列内で一意の行を効率的に見つけるにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-30 06:37:08
オリジナル
329 人が閲覧しました

How Can I Efficiently Find Unique Rows in a NumPy Array?

NumPy 配列内で一意の行を見つける: 効率的なソリューション

データの分析と処理では、多くの場合、配列から一意の値を抽出する必要があります。指定されたデータセット。このコンテキストで、NumPy 配列内で一意の行を見つける問題を考えてみましょう。

目的:

NumPy 配列が与えられた場合、目標は、NumPy 配列を識別して取得することです。元の配列の一意の行のみを含む配列。

効率的解決策:

NumPy バージョン 1.13 以降、一意の行を検索するための効率的なソリューションが導入されました。 np.unique 関数を活用し、axis パラメータを指定することで、これを簡単に実現できます。

unique_rows = np.unique(original_array, axis=0)
ログイン後にコピー

axis パラメータを 0 に設定することで、元の配列の各行を個別に分析するように NumPy に指示します。この操作は行を要素ごとに比較し、一意の行のみを含む新しい配列を返します。

例:

次の NumPy 配列 a:

について考えてみましょう。
a = np.array([[1, 1, 1, 0, 0, 0],
               [0, 1, 1, 1, 0, 0],
               [0, 1, 1, 1, 0, 0],
               [1, 1, 1, 0, 0, 0],
               [1, 1, 1, 1, 1, 0]])
ログイン後にコピー

a から一意の行を取得するには、次を使用できます。コード:

unique_rows = np.unique(a, axis=0)
ログイン後にコピー

これにより、次の行を含む新しい配列 unique_rows が生成されます:

unique_rows = np.array([[1, 1, 1, 0, 0, 0],
                         [0, 1, 1, 1, 0, 0],
                         [1, 1, 1, 1, 1, 0]])
ログイン後にコピー

見てわかるように、元の配列の一意の行が正常に抽出されました。

以上がNumPy 配列内で一意の行を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート