Numpy darray多次元配列オブジェクトの使用


紹介する
現在はPython数値計算の中で最も重要な基礎的なカバンであり、numpyの配列の対象をデータインタラクションの共通語としています。一般的には行列計算の原理を十分理解したいです。これはいくつかの線形代数の基礎知識が必要です。データ処理、洗浄、構造サブセット、フィルタリング、変換、その他の計算の過程に対して、迅速に量子化計算を行い、その後もR言語を紹介します。R言語は元々の生態が量子化に基づいて計算されたプログラミング言語ですから。
Numpyの核心的特徴の一つはN次元配列オブジェクトであるndarayであり、これは高速で柔軟な大型データセット容器であり、科学的な数値計算が可能である。
コード操作

import numpy as np
パッケージを導入した後、ランダムに2*3の配列、2行3列のランダム配列を生成します。

data=np.random.randn(2,3)

配列の簡単な操作

data*10
 
>>array([[ 9.00839244, -17.67421607, -0.03125454],
  [ 19.79906711, -2.62145167, -12.55106031]])
 
data+data
 
>>array([[ 1.80167849, -3.53484321, -0.00625091],
  [ 3.95981342, -0.52429033, -2.51021206]])
 
data.shape
 
>>(2, 3)
 
data.dtype
 
>>dtype('float64')
darrayを生成する
配列を生成する最も簡単な方法は、array関数を使用することであり、着信するタイプについては、他の任意のシーケンスとすることができます。リストに入ると、このリストを受信して配列タイプに変換します。複数のリストが入ってきたら、それは複数を受信します。線形代数ではこれを次元と呼びます。たとえば、下の行列は2行3列です。

data1=[[1,2,3],[4,5,6]]
 
arry1=np.array(data1)
 
arry1
 
>>array([[1, 2, 3],
  [4, 5, 6]])
 
arry1.ndim
 
>>2
 
arry1.shape
 
>>2, 3)
これ以外にも他の関数を使って配列を作成することができます。例えば、長さと形状の種類を指定すると一度に作成されます。ここでは2*3を作成した要素は1の配列です。

np.ones((2,3))
>>array([[1., 1., 1.],
  [1., 1., 1.]])
numpyにもPython range()関数のような効果があります。np.arange()は、操作効果とPythonのrange関数とは異曲同工の妙、start、stop、stepが設定できます。

対角行列の生成

darrayのデータタイプ
どのように配列のデータの種類を調べて、どのように変換して、numpyの中で型を整えます:int 32、浮動小数点型:float 64.

Numpy配列計算
numpyベースの配列計算も以前に実証しましたが、四則演算、加減乗除、およびいくつかの配列演算、各配列と配列の計算はそれぞれ要素が相互に対するもので、独立ではありません。これは私たちが理解したいところです。面白いことに、私たちは同じ次元の配列を二つ比較したいので、利用できます。これはブール値を返します。
基本索引とスライス
一次元配列の中では、Pythonリストのすべてと同じで、高次元のものであれば、複数のインデックスを利用する必要があります。ここの変数は上のものと同じです。

もし3桁の配列が生成されたら、2*2*3の配列のようにインデックスに従って、最初の配列を自動的にインデックス化できます。
高次元配列のスライスについては、そのスライス原理は配列内の配列に従ってスライスされています。例えば二次元配列(2*3*2)のように、各単位配列の中の最初の要素を取り出したいです。どうすればいいですか?

私たちは多次元配列のスライスの特徴を見抜くことができます。ここではリストの特徴として抽象化して説明します。例えば、多次元配列をリストの中の複数のリスト、つまりネストリストと見なし、インデックスに従ってとります。上記の例はまず二つの大きな配列を取り出します。それからこの二つの大きな配列の中から前の二つの配列に行って、最後にインデックスを0とする要素を取り出して、このように幾重にも減少しています。一歩ずつのインデックスはnumpyインデックスの特徴です。大きなデータ技術の分析と計算のために、マトリックス計算の最適化を利用するのは、その分割の原理と特徴に由来しています。
ブール索引
配列内の値や要素を比較して、ブール値を返します。

上記の例は一次元文字列の配列を生成し、ブール値を比較してdataの値を取得することで、当然data[0]の配列が得られます。
Pythonの中で私達はand orで判断できます。numpyの中で私達はあなたのニーズを解決するために必要です。覚えてください。


特別な索引
私たちはインデックスが異なる位置の配列を出す必要があります。この時はまだ一つずつ取り出していますか?もちろん特殊なインデックスを利用してこの問題を解決することができます。例えば、次の例です。

この特別な索引の他の使い方を見てみましょう。

第一のステップはインデックスによって対角線の要素を取り出し、第二の配列は二次元の配列を得たいです。私たちは大きい配列の中のインデックス位置を取り出して、それぞれ1 5、7の1次元配列を取り出してからインデックス位置の交換を利用して、元素を並べ替えました。
配列の変換と軸の交換
私たちは0-15の要素をランダムに生成して3*5の配列を作って利用します。T属性は、線形代数を学んだ仲間がきっとこれに慣れないと思います。行列の回転:行を列に変えて列を行に変えます。

締め括りをつける
numpyの配列で操作していますが、これは私たちのデータ分析に何の役に立つかは今は分かりません。これは正常です。私達が以前線形代数を勉強したように、この行列は私達にとってあまり役に立たないことを発見しました。でも、MATLABを使う時、やっと「本が使う時に恨むのが少ない」という道理を発見しました。
ここでは、Numpy darray多次元配列オブジェクトの使用についての記事を紹介します。Numpy darray多次元配列オブジェクトの詳細については、以前の記事を検索したり、下記の関連記事を閲覧したりしてください。これからもよろしくお願いします。