Numpy は、Python で最も一般的に使用される数学ライブラリの 1 つであり、最高の数学関数と演算の多くが統合されています。 Numpy は、統計、線形代数、画像処理、機械学習、ニューラル ネットワークなどの分野で広く使用されています。データ分析とモデリングの観点から、Numpy は不可欠なツールの 1 つです。この記事では、Numpy で一般的に使用される数学関数と、これらの関数を使用してデータ分析とモデリングを実装するためのサンプル コードを紹介します。
1. 配列の作成
Numpy の array()
関数を使用して配列を作成します。コード例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr)
これは出力 [ 1 2 3 4 5]、1 次元配列が作成されることを示します。
2 次元配列を作成することもできます。コード例:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr)
これは出力します:
[[1 2 3] [4 5 6]]
は、2 次元配列が作成されることを意味します。
2. 配列属性
Numpy の ndim
、shape
、size
属性を使用して、配列の次元を取得します。配列。要素の形状と数、コード例:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr.ndim) # 输出 2,表示数组是二维的 print(arr.shape) # 输出 (2, 3),表示数组有2行3列 print(arr.size) # 输出 6,表示数组有6个元素
3. 配列演算
Numpy 配列は、加算、減算、乗算、除算などの演算を実行できます。まず、配列にスカラーを追加する操作を見てみましょう。コード例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr + 2) # 输出 [3 4 5 6 7]
は、配列の各要素に 2 を追加することを意味します。
次のステップは 2 つの配列を追加する操作です。コード例:
import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) print(arr1 + arr2) # 输出 [5 7 9]
は、2 つの配列に対応する要素を追加することを意味します。
Numpy は、次のような特定の演算も提供します。
二乗演算: power()
関数を使用します。コード例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(np.power(arr, 2)) # 输出 [ 1 4 9 16 25]
これは、配列内の各要素が二乗されることを意味します。
平方根演算: sqrt()
関数を使用します。コード例:
import numpy as np arr = np.array([1, 4, 9, 16, 25]) print(np.sqrt(arr)) # 输出 [1. 2. 3. 4. 5.]
これは、配列内の各要素が平方根を持つことを意味します。根 。
Sum: sum()
関数を使用します。コード例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(np.sum(arr)) # 输出 15
これは、配列内のすべての要素を合計することを意味します。
最大値と最小値を検索します。max()
関数と min()
関数を使用します。コード例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(np.max(arr)) # 输出 5,表示数组中的最大值 print(np.min(arr)) # 输出 1,表示数组中的最小值
4. 配列のインデックス付けとスライス
添字を使用して配列内の要素にアクセスできます (コード例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr[0]) # 输出 1,表示数组中的第一个元素
配列に対してスライス操作を実行することもできます) , コード例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr[1:4]) # 输出 [2 3 4],表示从数组中取出第2个到第4个元素
5. 配列の形状の変換
Numpy には、配列の形状を変更するための関数がいくつか用意されており、その 1 つが reshape()
関数です。 。 reshape()
関数を使用して配列の形状を変更できます。コード例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr.reshape(5, 1))
これにより、形状 (5, 1) の 2 次元配列が返されます:
[[1] [2] [3] [4] [5]]
6. 配列のマージと分割
Numpy は、配列をマージおよび分割するための関数をいくつか提供します。
concatenate()
関数を使用して、特定の次元に沿って 2 つの配列をマージできます。コード例:
import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) print(np.concatenate((arr1, arr2))) # 输出 [1 2 3 4 5 6]
vstack() を使用することもできます。
関数と hstack()
関数は、2 つの配列を水平方向または垂直方向にスタックします。コード例:
import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) # 垂直堆叠 print(np.vstack((arr1, arr2))) # 输出 [[1 2 3] [4 5 6]] # 水平堆叠 print(np.hstack((arr1, arr2))) # 输出 [1 2 3 4 5 6]
また、split()
関数を使用して配列を分割することもできます。配列を複数の配列に分割するコード例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(np.split(arr, 5)) # 输出 [array([1]), array([2]), array([3]), array([4]), array([5])]
これにより、配列が 5 つの 1 次元配列に分割され、それぞれに要素が 1 つだけ含まれます。
7. 包括的な例
ここでは、Numpy の関数を使用して、簡単なデータ分析とモデリングの例を実装します。
例: 100 人の生徒のスコアがあり、平均スコア、最高スコア、最低スコアを計算したいとします。
まず、random()
関数を使用して 100 個の乱数を生成し、mean()
、max()
、# を使用します。 # #min() 関数は、平均値、最高値、最低値を計算します。コード例:
import numpy as np grades = np.random.randint(50, 100, 100) # 生成50到100之间的100个随机数 print("平均成绩:", np.mean(grades)) print("最高成绩:", np.max(grades)) print("最低成绩:", np.min(grades))
histogram() 関数を使用してスコア ヒストグラムを生成します。 、コード例:
import matplotlib.pyplot as plt import numpy as np grades = np.random.randint(50, 100, 100) # 生成50到100之间的100个随机数 hist, bins = np.histogram(grades, bins=10, range=(50, 100)) plt.hist(grades, bins=10, range=(50, 100)) plt.show()
percentile() 関数を使用してスコアのパーセンタイルを計算します。コード例:
import numpy as np grades = np.random.randint(50, 100, 100) # 生成50到100之间的100个随机数 print("90%的成绩高于:", np.percentile(grades, 90))
以上がNumpy ライブラリでよく使用される関数の概要: データ分析とモデリングのための強力なツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。