作業効率を向上させるための numpy 関数のヒントと例の共有
はじめに:
データ処理や科学計算の分野では、非常に一般的に使用されます。 Python の numpy ライブラリ。 Numpy は、大規模なデータ操作や計算を簡単に実行できる一連の強力な関数とツールを提供します。この記事では、作業効率を向上させるための numpy 関数のテクニックをいくつか紹介し、具体的なコード例を示します。
1. ベクトル化操作
numpy のベクトル化操作は、最も強力な関数の 1 つです。ベクトル化演算により、各要素を演算するための for ループの使用を回避できるため、演算速度が大幅に向上します。
サンプル コード 1: 行列の行と列の合計を計算します
import numpy as np m = np.random.rand(1000, 1000) # 使用for循环 row_sum = np.zeros(1000) col_sum = np.zeros(1000) for i in range(1000): for j in range(1000): row_sum[i] += m[i][j] col_sum[j] += m[i][j] # 使用矢量化操作 row_sum = np.sum(m, axis=1) col_sum = np.sum(m, axis=0)
サンプル コード 2: 2 つの配列の加重平均を計算します
import numpy as np a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) weights = np.array([0.2, 0.3, 0.5]) # 使用for循环 result = 0 for i in range(3): result += a[i] * b[i] * weights[i] # 使用矢量化操作 result = np.dot(np.multiply(a, b), weights)
2.ブロードキャスト
ブロードキャストは、異なる次元の配列間の演算を非常に便利にする numpy の関数です。ブロードキャストでは、明示的な次元一致なしでのみ配列を操作できます。
サンプル コード 3: 配列の平均二乗誤差を計算します
import numpy as np a = np.array([1, 2, 3]) mean = np.mean(a) var = np.sqrt(np.mean((a - mean) ** 2))
サンプル コード 4: 行列の各行から対応する行の平均を減算します
import numpy as np m = np.random.rand(1000, 1000) mean = np.mean(m, axis=1) m -= mean[:, np.newaxis]
3 . スライスとインデックス付けのスキル
numpy は、配列を簡単にインターセプトしてフィルタリングできる、豊富なスライスとインデックス付けのテクニックを提供します。
サンプルコード 5: 配列からランダムに要素を抽出する
import numpy as np a = np.arange(100) np.random.shuffle(a) selected = a[:10]
サンプルコード 6: 条件を満たす配列の要素をフィルタリングする
import numpy as np a = np.array([1, 2, 3, 4, 5, 6]) selected = a[a > 3]
4. 一般的な関数と集約関数
numpy は、配列に対してさまざまな数学的および統計的演算を簡単に実行できる、多数の一般関数と集約関数を提供します。
サンプルコード7:配列の要素の絶対値を取得
import numpy as np a = np.array([-1, -2, -3, 4, 5, 6]) abs_a = np.abs(a)
サンプルコード8:配列の合計値、平均値、最大値を計算
import numpy as np a = np.array([1, 2, 3, 4, 5, 6]) sum_a = np.sum(a) mean_a = np.mean(a) max_a = np.max(a)
まとめ:
この記事では、作業効率を向上させるための numpy 関数のヒントをいくつか紹介し、具体的なコード例を示します。ベクトル化操作、ブロードキャスト、スライスとインデックス付けの手法、および一般関数と集計関数の使用を通じて、データ処理と科学計算で numpy をより効率的に使用できます。この記事が皆さんのお仕事のお役に立てれば幸いです!
以上が作業効率を向上させるために numpy 関数のヒントと例を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。