一般的な操作のnumpyの配列
インポートnumpyの
numpyのは外部のライブラリです。これは、標準のPythonそれらに含まれていない、いわゆる外部ライブラリを指します。だから私は、事前に導入する必要を使用します。
輸入 NPとしてnumpyの
これはライブラリファイルがインポートによって導入する必要があるのpythonを導入しました。インポートはここ文字通りように翻訳することができる「導入などNP numpyの。」numpyの方法後の両方のNPによって呼び出すことができます。
numpyの配列生成
numpyのアレイを生成するために、)(このAPIをnp.array使用。
それによってnumpyのアレイ(numpy.ndarray)を生成する、APIのパイソンを受信するためのパラメータのリスト。
インポートNP AS numpyの X = np.array([1.0,2.0,3.0 ]) プリント(X) '' ' :出力結果 [1] ''' #は型によって型を見ることができる タイプ(X) '' ' 出力: <クラスのnumpy.ndarray '> ' ''
numpyの算術
以下に、演算numpyのアレイの一例です。
インポートAS numpyのNP #のnumpyの演算 X = np.array([1,2,3 ]) Y = np.array([4,5,6 ]) プリント(X + Y) #[5,7,9 ] A = np.array([1.0,2.0,3.0 ]) B = np.array([4.0,5.0,6.0 ]) プリント(A + B) #[5.、7 ,. 9] #2配列の要素数が同じで、操作を行うことができます。しかし、異なる要素の数は、プログラムがエラーになります。 #は、対応する要素の要素ごとの乗算に変換「要素に対応する」などの要素ごとの積であります
加えて加算することができるnumpyのアレイは、他の数学的演算を実行することができます。
numpyの配列の要素単位操作ができ、単一の値(スカラー)とすることができるだけでなく、組み合わせを算出します。この場合には、動作は、様々な要素及びスカラーnumpyのアレイとの間に必要とされます。この機能は、ブロードキャストとして知られています。
>>> X = np.array([1.0、2.0、3.0 ]) >>> X / 2.0 アレイ([ 0.5、1、1.5])
numpyののN次元アレイ
numpyのはあなたはまた、多次元配列を生成することができ、(アレイ状に配置された)一次元アレイを生成することができません。例えば、以下のように2次元配列(行列)を生成することができます。
>>> A = np.array([1、2]、[3、4 ]) >>> プリント(A) [ 1 2 ] [ 3 4 ] >>> A.shape ( 2,2 ) >>> A.dtypeの DTYPE(' int64モード')
numpyのアレイにおいて、()メソッドは、DTYPE状を通じてタイプを見て形状、()メソッドを参照してください。
マトリクスアレイは、数学演算を実行することができます。
>>> A = np.array([1、2]、[3、4 ])
>>> B = np.array([3,0]、[0,6 ]) >>> A + Bの 配列([ 4,2 ]、 [ 3、10 ]]) >>> *のBの 配列([ 3 、0]、 [0、 24]])
算術演算は、アレイのような、行列演算は、同じ形状とマトリックス様式対応する要素で実行されてもよいです。マトリックス演算スカラー(単一値)によって行うことができます。また、ブロードキャスト機能をベースにしています。
>>> A = np.array([1、2]、[3、4 ])
>>> A * 10 配列([ 10、20 ]、 [ 30、40]])
numpyのアレイは(np.array)N次元配列の次元、一次元アレイ、二次元アレイ、三次元アレイのような任意の数の配列を生成することができ、生成されてもよいです。数学的に一次元アレイベクトルと呼ばれる、二次元アレイは、マトリックスと呼ばれます。さらに、一般的なベクターまたは他のマトリックス後テンソル(テンソル)と呼ぶことができます。
放送
numpyの、異なる形状のアレイを動作させることができます。前の例では、マトリックス及びスカラー乗算の2×2 10の間です。このプロセスでは、スカラー10は2×2行列Aと、その後、乗算の形状に展開されます ラジオ(放送)と呼ばれるこの巧妙な機能。
以下の動作は、ブロードキャストの一例です。
>>> A = np.array([1、2]、[3、4 ]) >>> B = np.array([10、20 ]) >>> *のBの 配列([ 10、 40 ]、 [ 30、80]])
以上の動作では、一次元アレイBは、グループAと同一形状の2ビットに「巧み」であり、次いで、対応する要素のように動作します。
要するに、そこnumpyの放送機能するので、円滑に異なる形状のアレイとの間の操作を行うことも可能です。
配列アクセスの要素のうち
要素のインデックスはゼロからスタートします。次のように各要素へのアクセスが進みます。
= X-np.array >>>([51 0 ,. 4 [[14 ,. 19]]、55である]]) >>> プリント(X-) [ 51 55である] 、[ 14 19 ] [0。4 ] >>> X- [0] #の行0 アレイ([51は、55 ]) >>> X- [0] [1] #素子55の(0,1)
また、文の様々な要素にアクセスするために使用することができます。
>>> X = np.array([51、55]、[14、19]、[0,4 ])
>>> ための行にX: ... 印刷(行) ... [ 51 55 ] [ 14 19 ] [0 4]
前述の割出し動作に加えて、numpyのは、アレイの様々な要素にアクセスするために使用されてもよいです。
X = >>> X.flatten() #のX-変換一次元アレイに >>> プリント(X) [ 51 55 14 19 0 4 ] >>> X [np.array([0,2 ,. 4]) ] #が取得0,2,4要素のインデックス 配列([51、14、0 ])
上記のようにしてそのようなマーカーは、要素が特定の条件を満たして取得することができます。例えば、要素は15よりも大きい取得するために、以下の形式で記述することができます。
インポートnumpyのNP AS A = np.array([11,22,33]、[44,55,66]、[77,88,99 ]) B = a.flatten() #テンソルを変換次元配列 プリント(B)#1 [11 22 33 44 55 66 88 99 77されている] #配列要素によって一次元アレイ取得 #1 プリント(B [np.arrayは([1,3,5,7])])#[22であります66 88 44]が 印刷(B> 15) #[真TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE] プリント(B [B> 15]) #[22 33 44されている66 77 88 99 55]