科学技術計算ライブラリの1 numpyの基礎
1.1 numpyのは何ですか
numpyの(数値のPython)は、拡張ライブラリPython言語でアレイとマトリックス演算の次元数をサポートし、加えて、それは配列操作のための数学ライブラリの多くを提供します。
数値numpyのの前身は2005年に初めて、他の協力者とのジム・ハグニンによって開発された、トラヴィスオリファント数値はNumarrayライブラリーの特性の自然の中で互いに組み合わせ、およびnumpyのの他の拡大・発展に参加しました。numpyのは、オープンソースであると共同で多くの協力者の発展を守ります。
numpyのであって、主に配列を計算するため、非常に高速な数学ライブラリを実行しています:
- 強力なN次元配列オブジェクトndarray
- ブロードキャストのパフォーマンス機能
- C / C ++ / Fortranコードツールの統合
- 線形代数、フーリエ変換、乱数生成機能
1.2アレイ(行列)を作成
#コーディング8 = UTF- インポートnumpyのNP AS 位配列numpyのギブndarray入力を生成するために使用さ T1 = np.array([1,2,3 、]) 印刷(T1) プリント(型(T1)) T2 = NPを。アレイ(レンジ(10 )) プリント(T2) プリント(型(T2)) T3 = np.arange(4,10,2 ) プリント(T3) プリント(型(T3)) プリント(t3.dtype)
業績
1.3データ型
名前 | 説明 |
---|---|
bool_ | Booleanデータ型(TrueまたはFalse) |
INT_ | (長いC言語、INT32またはInt64型に似て)デフォルトの整数型 |
INTC | 同じタイプCとINTは、INTは、一般的に64またはINT32であります |
INTP | インデックスの整数型のための(一般INT32またはInt64のままssize_tの、C様) |
INT8 | バイト(127 -128) |
INT16 | 整数(-32768〜32767) |
INT32 | 整数(-2147483648 2147483647まで) |
int64モード | 整数(9223372036854775807に-9223372036854775808) |
UINT8 | 符号なし整数(0〜255) |
uint16の | 符号なし整数(0〜65535) |
UINT32 | 符号なし整数(0 4294967295)に |
UINT64 | 符号なし整数(0 18446744073709551615まで) |
浮く_ | 速記の種類のfloat64 |
float16 | 半精度浮動小数点数であって、符号ビット、5ビットの指数部、10仮数ビット |
float32 | 含む単精度浮動小数点数、:符号ビットは、8つの指数部、23仮数ビット |
float64 | 含む倍精度浮動小数点、:符号ビット、11個の指数ビットを、52ビットの仮数 |
繁雑_ | complex128速記タイプ、即ち、128ビットの複数 |
complex64 | 複雑な、32ビット浮動小数点数は、ビス(実数部と虚数部)を表します |
complex128 | 複雑な、64ビットの浮動小数点数は、ビス(実数部と虚数部)を表します |
#コーディング8 = UTF- インポートnumpyのAS NP インポートランダムの #1 INT8、Int16型、のInt32、Int64の4つのデータタイプは文字列を使用することができる'I1'、 'I2'、 'I4'、 'I8' の代わりに 、T1 = np.array(範囲(1,4)、DTYPE = " I1 " ) プリント(T1) プリント(t1.dtype) #bool型で#numpy T2 = np.array([1,1,0,1,0,0]、 = DTYPE BOOL) プリント(T2) プリント(t2.dtype) #調整データが入力 T3 = t2.astype(" INT8 " ) プリント(T3) プリント(t3.dtype) #numpyの小数の T4 = np.arrayを([ランダム。ランダム()用 I における範囲(10 )]) 、印刷(T4) プリント(t4.dtype) T5 = np.round(t4,2 ) プリント(T5)
結果:
1.4形状アレイ
#コーディング8 = UTF- インポートnumpyのNP AS A = np.array([3,4,5,6,7,8]、[-4,5,6,7,8,9- ]]) プリント(A) #チェックアレイ状の 印刷(a.shape) #は、アレイ形状変更 プリント(a.reshape(3,4 )) #元の形状不変アレイ プリント(a.shape) B = a.reshape(3,4- ) プリント(B .shape) プリント(B) #1次元データにアレイ プリント(b.reshape(プレート1,12 )) プリント(b.flatten())
結果:
アレイの合計は、1.5を計算します
#コーディング8 = UTF- インポートnumpyのNP AS A = np.array([3,4,5,6,7,8]、[-4,5,6,7,8,9- ]]) プリント(A) #加算減算 プリント(A + 5 ) プリント(5-A ) #1 乗算分割 印刷(A * 3 ) プリント(A / 3)
結果:
1.6計算アレイおよびアレイ
#コーディング8 = UTF- インポートnumpyのNP AS A = np.array([3,4,5,6,7,8]、[-4,5,6,7,8,9- ]]) B = NP。アレイ([21,22,23,24,25,26]、[27,28,29,30,31,32 ]]) #1 減算アレイおよびアレイ プリント(+ B) プリント(A- B ) #のアレイおよびアレイ乗算と除算 プリント(* B) プリント(/ B)
結果:
コンピューティングのアレイの異なる寸法:
#コーディング8 = UTF- インポートnumpyのNP AS A = np.array([3,4,5,6,7,8]、[-4,5,6,7,8,9- ]]) C = NP。アレイ([1,2,3,4]、[5,6,7,8]、[9,10,11,12 ]]) #異なる寸法のアレイ計算 プリント(* C)
結果:
#コーディング8 = UTF- インポートnumpyのNP AS #2行6列 A = np.array([3,4,5,6,7,8] 、[-4,5,6,7,8,9- ]]) #アレイの1行6 C = np.array([1,2,3,4,5,6 ]) プリント(A- C) プリント(* C)
結果:
#コーディング8 = UTF- インポートnumpyのNP AS #2行6列 A = np.array([3,4,5,6,7,8] 、[-4,5,6,7,8,9- ]]) #アレイ6の1行である C = np.array([1]、[2 ]) を印刷(+ C) プリント(* C) プリント(* C)
結果: