1.numpyインポートおよびビューバージョン
NPとして>>>インポートnumpyの
>>>印刷(NP .__ version__)
1.15.4
2.一次元(又は多次元)アレイを作成します
初期化リストで作成した#
>>> np.array([1,2,3,4,5])
アレイ([1、2、3、4、5])
方法#1 arangeプロデュース
>>> np.arange(10)
アレイ([0、1、2、3、4、5、6、7、8、9])
#指定された範囲とステップサイズを作成します。
>>> np.arange(3,10,2)
アレイ([3、5、7、9])
#1 -D(3,3)
>>> np.array([1,2,3]、[4,5,6]、[7,8,9]])
アレイ([[1、2、3]、
[4、5、6]、
[7、8、9])
#三次元(2,2,2)
>>> np.array([[[1,3]、[2,4]、[3,6]、[4,8]]])
アレイ([[[1、3]
[2、4]、
[3]、[6]、
[4,8]]])
3.ブール配列を作成します。
#一次元
>>> np.full(3、Trueを、DTYPE =ブール値)
アレイ([TRUE TRUE、TRUE])
#-D
>>> np.full((3、3)、真、DTYPE =ブール値)
アレイ([、TRUE TRUE、真]
[真の、真の、真]、
)] [、TRUE TRUE、TRUE]
4.抽出物(または交換)指定された条件が満たされた配列要素から
#すべての奇数の配列を抽出
>>> ARR = np.arange(10)
>>> [%2 == 1 ARR] ARR
アレイ([1、3、5、7、9])
抽出#4の数よりも大きいです
>>> ARR [ARR> 4]
アレイ([5、6、7、8、9])
すべての奇数#を交換してください-1
>>> = -1 [%2 == 1 ARR] ARR
>>> ARR
アレイ([0、-1、2、-1、4、-1、6、-1、8、-1])
アレイの形状変化
>>> ARR = np.arange(12)
>>> arr.reshape(2,6)
アレイ([0、1、2、3、4、5]
[6、7、8、9、10、11])
-1寸法に設定#は自動的に一致します
>>> arr.reshape(3、-1)
アレイ([0、1、2、3]、
[4、5、6、7]
[8、9、10、11])
>>> arr.reshape(2,2,3)
アレイ([[[0、1、2]
[3、4、5]、
[6、7、8]
[9、10、11]]])
6.変換
>>> A = np.arange(10)
>>> a.dtype
DTYPE( 'INT32')
#型STRに変換
>>> a.astype(STR)
アレイ([ '0'、 '1'、 '2'、 '3'、 '4'、 '5'、 '6'、 '7'、 '8'、 '9']、DTYPE =」
#floatに変換
>>> a.astype(フロート)
アレイ([0、1、2、3、4、5、6、7、8、9])
7.垂直マージ配列
>>> A = np.arange(8).reshape(2,4)
>>> B = np.arange(8,12)
#1
>>> np.vstack((b)参照)
アレイ([0、1、2、3]、
[4、5、6、7]
[8、9、10、11])
方法#2
>>> np.row_stack((b)参照)
アレイ([0、1、2、3]、
[4、5、6、7]
[8、9、10、11])
#3の方法は、二次元アレイの数は、マージされた垂直同じ連結することに注意してください
>>> np.concatenate([B]、軸= 0)
トレースバック(最新の呼び出しの最後):
内のファイル「」、1行目、
np.concatenate([B]、軸= 0)
ValueError:すべての入力配列は、次元の数が同じでなければなりません
>>> np.concatenate([[B、B]、軸= 0)
アレイ([0、1、2、3]、
[4、5、6、7]
[8、9、10、11]、
[8、9、10、11])
方法#4は、一致するようにアレイの2つの次元をマージ
>>> np.r_ [[B、B]
アレイ([0、1、2、3]、
[4、5、6、7]
[8、9、10、11]、
[8、9、10、11])
8.マージ・アレイ・レベル
>>> A = np.arange(8).reshape(2,4)
>>> B = np.arange(8,12).reshape(2,2)
#1
>>> np.hstack((b)参照)
アレイ([0、1、2、3、8、9]
[4、5、6、7、10、11])
方法#2
>>> np.column_stack((b)参照)
アレイ([0、1、2、3、8、9]
[4、5、6、7、10、11])
方法#3
>>> np.concatenate([B]、軸= 1)
アレイ([0、1、2、3、8、9]
[4、5、6、7、10、11])
方法#4
>>> np.c_ [B]
アレイ([0、1、2、3、8、9]
[4、5、6、7、10、11])
9.保存してTXT(またはCSV)を読みます
>>>ファイル名= 'data.txtを' #またはファイル名= 'data.csv'
>>> A = np.arange(12).reshape(3,4)
#保存:FMTは、格納されたデータの種類、区切り文字指定された区切り文字を指定します
>>> np.savetxt(ファイル名、FMT = '%のD'、デリミタ= '')
#読む:タイプ指定DTYPE読み取り、区切り文字指定された区切り文字
>>> np.loadtxt(ファイル名、DTYPE =フロート、デリミタ= '')
アレイ([0、1、2、3]、
[4。、5、6、7]
[8、9、10、11]])
10.特別な操作のアレイ
>>> A = np.arange(10)
>>> a.sum()#和
45
>>> a.max()#最大需要
9
最低>>> a.min()#
0
>>> a.mean()#を平均しました
4.5
アレイ内>>> a.ptp()#差分要素最大値と最小値
9
中央>>> np.median(A)#配列を求めます
4.5
>>> np.std(A)#は、差分の標準配列を見つけます
2.8722813232690143
>>> np.var(A)#は、分散アレイをシーク
8.25
#2 >>> **内の各正方形
アレイ([0、1、4、9、16、25、36、49、64、81]、DTYPE = INT32)
>>> a.dot(A)#ドット積、乗算に対応する要素を加算は、スカラーを返します
285
ATは転位がA.transpose(も使用することができるで>>> a.dot(AT)#)
285
11.ゼロ行列、行列、単位行列を作成します
>>> np.zeros((2,3))#ゼロ行列
アレイ([0、0、0]、
[0、0、0]])
>>> np.ones((4,3))#1マトリックス
アレイ([1、1、1]
[1、1、1]
[1、1、1]
[1、1、1]])
>>> np.identity(3)#単位行列、使用することもできるnp.eye(3)
アレイ([1、0、0]、
[0、1、0]、
[0、0、1]])
12.特別な行列の操作
(1)配列内積演算np.dot()
#一次元の内積、乗算対応する要素を加算
>>> A = np.array([1、2、3])
>>> B = np.array([4、5、6])
>>> A.dot(B)#またはA.dot(BT)
32 無錫×××病院https://yyk.familydoctor.com.cn/20612/
#二次元製品、A [M、n]は列の数である行列は同じ線形代数行列乗算(C [I、J] = SUM([I、Kと、行列の列B [N、P]の数に等しいです。 ] * B [K、I])[I、N]で、K)
C = A・B、C [1,1] = [1,1] * B [1,1] + [1,2] * B [2,1] + Aを仮定#[1,3] * B [3,1] = 1×2 + 2×2 + 3 * 2 = 12
>>> A = np.array([1、2、3]、[4、5、6])#(2、3)
>>> B = np.array([2,3]、[2,3]、[2,3])#(3、2)
>>> A.dot(B)#またはnp.dot(A、B)
アレイ([12、18]、
[30、45]])
(2)配列要素乗算np.multiply()
#乗算要素は、また、「*」直接書き込むことができる)np.multiply(演算子を使用することができる乗算は行列要素に対応する手段であります
二つの行列の要素を必要と#乗算の次元が一致していなければなりません
#一次元配列
>>> A = np.array([1、2、3])
>>> B = np.array([4、5、6])
>>> A * B
アレイ([4、10、18])
>>> np.multiply(A、B)
アレイ([4、10、18])
#二次元配列
>>> A = np.arange(8)
>>> A = A.reshape(2,4)
>>> A
アレイ([0、1、2、3]、
[4、5、6、7])
>>> A * A
アレイ([0、1、4、9]、
[16、25、36、49]])
>>> np.multiply(A、A)
アレイ([0、1、4、9]、
[16、25、36、49]])
(3)行列乗算
#行列の乗算はまた、「*」演算子を使用することができ、)(np.matmulを使用することができます
乗算及び#マトリックスの同一の二次元アレイの生成物は、それはまた、(np.dot使用することができます)
>>> MA = np.matrix([1、2、3]、[4、5、6])
>>> MB = np.matrix([2,3]、[2,3]、[2,3])
>>> MA
行列([[1、2、3]、
[4、5、6])
>>> MB
行列([2、3]、
[2、3]、
[2、3])
>>> MA * MB
行列([12、18]、
[30、45]])
>>> np.matmul(MA、MB)#1 np.dot(MA、MB)、MA.dot(MB)
行列([12、18]、
[30、45]])
(4)デカルト積を計算します
また、直接の製品として知られている#デカルト積は、マッピング関係は、実際のコレクションである、あなたが達成するために)(itertools.productを使用することができます
例#A = {A、B}、B = {1,2,3}、A及びBのデカルト積は、{(1)、(2)、(3)、(Bであります、1)、(B、2)、(B、3)}
>>>インポートitertools
>>> A = np.array([ 'A'、 'B'])
>>> B = np.array([1、2、3])
>>> D = itertools.product(A、B)
>>>リスト(D)#は、リストの要素を、直接タプルタイプのリストを転送しました
[(A ''、1)、( 'A'、2)、(A ''、3)、( 'B'、1)、( 'B'、2)、( 'B'、3)]
#また、ループDを横断することができます
>>> DにおけるDのために:
プリント(D)
( 'A'、1)
( 'A'、2)
( 'A'、3)
( 'B'、1)
( 'B'、2)
( 'B'、3)
更新するには:
pythonのデータ分析シリーズ(2) - matplotlibの使用
Pythonのデータ分析シリーズ(3) - scipyのダウンロード使用