記事ディレクトリ
20pythonデータ処理numpy
前書き
pythonでlistを使用すると、メモリと時間が無駄になります。numpyはndarrayオブジェクトを提供します。ndarrayは、単一のデータタイプを格納する多次元配列です。
ndarrayアレイの基本操作
- N次元オブジェクトndarrayは、同じタイプの多次元配列を格納するために使用されます
- ndarrayの各要素には、メモリ内に同じストレージサイズの領域があります
- ndarrayの各要素のデータタイプオブジェクトはオブジェクト(dtypeと呼ばれます)です
- pythonの他のコンテナオブジェクトと同様に、配列を介してスライスまたはインデックス付けすることができます
- ndarrayの内容は、ndarrayのメソッドと属性を介してアクセスおよび変更できます。
ndarrayは配列を作成します
array関数を使用して、すべてのシリアルオブジェクトを受け入れ、着信データを含むnumpy配列を生成します。その中で、ネストされたシーケンス(同じ長さのリストのセットで構成されるリストなど)は多次元配列に変換されます
numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)
オブジェクト配列またはネストされたシーケンス
dtype配列要素のデータタイプ(オプション)
オブジェクトをコピーする必要があるかどうかをコピーする(オプション)
順序配列を作成するスタイルCは行方向Fは列方向Aは任意の方向(デフォルト)
subokは同じ基本タイプ
ndminの配列は、生成された配列の最小寸法を指定します
配列関数
import numpy as py
a=[1 ,2, 3, 4]
b=np.array(a)#即将列表装化为数组
c=np.array([1,2],[3,4]) #生成多维数组
もの和ゼロ
np.zeros(3) #全0的一维数组
np.ones(3) #全部为1的一维数组
np.zeros((3,)) #全0的3*1二维数组
np.identity(3)#单位矩阵,3*3
np.arrage(10) #生成0到9的数组,共10个数
ランダムアレイの作成
均等に分散
np.random.rand(10,10) #10*10的二维随机数组,范围0到1 [0,1)
np.random.uniform(0,100) 创建指定范围内的一个数
np.random.randint(0,10,5) 创建指定范围的5个整数
np.random.randint(0,10,(3,5)) 3*5的15个随机整数组成的矩阵,位于0到10
正規分布
np.random.normal(1.75,0.1,(2,3)) 参数分别为:给定的均值 标准差 维度的正态分布
np.random.standard_normal(5) #从标准正态分布中随机采样5个数字
ndarray配列属性
b.size 元素的个数
b.shape 数组的形状
b.ndim 数组的纬度
b.dtype数组元素类型
b.Itemsize 数组元素字节大小
b.reshape(2,3) #把数组改为2*3的
配列とスカラー間の操作
配列は非常に重要です。ループを記述せずにデータを操作できます。これはベクトル化と呼ばれます。
- 同じサイズのアレイ間の操作は、対応する要素に操作を適用します
- 配列とスカラー間の算術演算は、スカラーを各要素に伝播します
インデックスとスライス
1次元配列とリストの最も重要な違いは、配列スライスが元のデータのビューであるということです。つまり、データはコピーされません。変更は元の配列のビューの配列に直接反映され、
スカラーをタイムスライスにコピーします。変更された値は、選択範囲全体に自動的に伝播されます
arr[5:8]=12 #5 ,6, 7 位置都会变成12
2次元配列では、各インデックス位置の要素はスカラーではなく1次元配列になり
ます。各要素への再帰的なアクセスは可能ですが、これは少し面倒であり、
インデックスのコンマ区切りリストを渡して単一を選択することをお勧めします。要素
多次元配列では、次のインデックスを省略した場合、返されるオブジェクトは緯度の低いndarrayです。
数学的統計
和和すべての配列の要素またはゼロ長の配列= 0の孫ある軸
平均算術平均
のSTD VAR標準偏差
最小最大ARGMAX argmin
最大要素のインデックスと最小要素
の蓄積CUMSUM
すべての要素がすべての要素の積をcumprodをれる
使用の場合、次の2つのメソッドを使用できます
。arr.mean()
np.mean(arr)
meanおよびsum関数は、軸の統計値を計算するために使用される軸パラメーターを受け入れることができます
。arr.mean(axis = 1)2次元の場合配列0は行
ごとに計算され、1は列ごとに計算されます。cumsum:指定された軸パラメーターに従って要素の台形累積合計を返します。axis= 0、行に従って累積します。axis= 1、列に従って累積します。cumprodは同じ方法で累積に変更されます。