numpyスライス操作方法とは何ですか?

DDD
リリース: 2023-11-22 13:21:38
オリジナル
1474 人が閲覧しました

numpy スライス操作方法: 1. 1 次元配列スライス、Python のリスト スライスと同様の方法を使用してスライス操作を実行できます; 2. 2 次元配列スライス、2 つのインデックス値を使用できますスライス操作を実行する操作、最初のインデックス値は行を表し、2 番目のインデックス値は列を表します; 3. 多次元配列のスライス、複数のインデックス値を使用してスライス操作を実行でき、各インデックス値ディメンションに対応する; 4. ブール インデックス、ブール値を介してフィルタリングが使用されます; 5. 条件付きインデックス スライスは、条件式などを介してフィルタリングする方法です。

numpyスライス操作方法とは何ですか?

このチュートリアルのオペレーティング システム: Windows 10 システム、Python バージョン 3.11.4、Dell G3 コンピューター。

numpy は、豊富な配列演算関数を提供するオープンソースの数値計算ライブラリです。その中でもスライス操作はnumpyでよく使われる機能の一つです。スライス操作では、インデックス付けを通じて配列のサブセットを取得し、配列に対してスライス、ダイシング、行の切断などの操作を実行できます。この記事ではnumpyのスライス操作方法を詳しく紹介します。

numpy では、スライス操作を 1 次元配列、2 次元配列、および多次元配列に使用できます。これら 3 つの場合のスライス操作方法を以下に紹介します。

1 次元配列のスライス操作:

1 次元配列の場合、Python のリスト スライスと同様の方法でスライス操作を実行できます。

import numpy as np
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# 获取数组中的前三个元素
b = a[:3]
print(b)  # 输出: [0 1 2]
# 获取数组中的第三个到第六个元素
c = a[2:6]
print(c)  # 输出: [2 3 4 5]
# 获取数组中的倒数三个元素
d = a[-3:]
print(d)  # 输出: [7 8 9]
ログイン後にコピー

2 次元配列のスライス操作:

2 次元配列の場合、2 つのインデックス値を使用してスライス操作を実行できます。値は行を表し、最初のインデックス値は行を表し、2 つのインデックス値は列を表します。

import numpy as np
a = np.array([[0, 1, 2, 3],
              [4, 5, 6, 7],
              [8, 9, 10, 11]])
# 获取数组的第一行
b = a[0, :]
print(b)  # 输出: [0 1 2 3]
# 获取数组的第二列
c = a[:, 1]
print(c)  # 输出: [1 5 9]
# 获取数组的前两行和前三列
d = a[:2, :3]
print(d)  # 输出: [[0 1 2]
          #        [4 5 6]]
ログイン後にコピー

多次元配列のスライス操作:

多次元配列の場合、複数のインデックス値を使用してスライス操作を実行できます。各インデックス値は、一次元。

import numpy as np
a = np.array([[[0, 1, 2],
               [3, 4, 5],
               [6, 7, 8]],
              [[9, 10, 11],
               [12, 13, 14],
               [15, 16, 17]]])
# 获取数组的第一个元素
b = a[0, :, :]
print(b)  # 输出: [[0 1 2]
          #        [3 4 5]
          #        [6 7 8]]
# 获取数组的第二个元素的第一行和第二行
c = a[1, :2, :]
print(c)  # 输出: [[ 9 10 11]
          #        [12 13 14]]
ログイン後にコピー

スライス操作には整数インデックスを使用するだけでなく、ブール インデックスや条件付きインデックスも使用できます。

ブール インデックスのスライス操作:

ブール インデックスは、ブール値でフィルター処理する方法であり、特定の条件を満たす配列内の要素を取得するために使用できます。

import numpy as np
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# 获取数组中大于5的元素
b = a[a > 5]
print(b)  # 输出: [6 7 8 9]
ログイン後にコピー

条件付きインデックスのスライス操作:

条件付きインデックスは、条件式をフィルター処理する方法であり、配列内の特定の条件を満たす項目を取得するために使用できます。要素。

import numpy as np
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# 获取数组中大于5的元素的索引值
b = np.where(a > 5)
print(b)  # 输出: (array([6, 7, 8, 9]),)
ログイン後にコピー

Numpy のスライス操作は、配列のサブセットを取得する柔軟かつ効率的な方法を提供します。 1 次元配列、2 次元配列、または多次元配列のいずれであっても、スライス操作を使用してデータを抽出およびフィルター処理できます。スライス操作は、整数インデックスだけでなく、ブールインデックスや条件付きインデックスもサポートしており、さまざまなニーズを満たすことができます。 numpy のスライス操作を合理的に使用することで、データ処理の効率と柔軟性を向上させることができます。

以上がnumpyスライス操作方法とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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