Numpy基礎命令速查表
概覽
創建數組
打印數組
基本運算
形狀操作
索引、切片和迭代
線性代數運算
一、概覽
數組的維度和數組的秩 數組的維度減去數組的秩等於數組的自由變量的個數
ndarray.ndim #數組的秩,數組的軸的個數
ndarray.shape #數組的維度
ndarray.size #數組的元素的個數
ndarray.dtype #一個用來描述數組中元素類型的對象
ndarray.itemsize #數組中每個元素的字節大小
二、創建數組
np.array([1,2,3])
np.array([[1,2,3],[4,5,6]],dtype=complex) #創建時指定數據類型
np.zeros((3,4)) #創建全為0的數組
np.ones((2,3,4),dtype=int16) #創建全為1的數組
np.empty((2,3)) #創建一個數列。。。
array, zeros, zeros_like, ones, ones_like, empty, empty_like, arange, linspace, rand, randn, fromfunction, fromfile參考:NumPy示例
三、打印數組
當你打印一個數組,NumPy以類似嵌套列表的形式顯示它,但是呈以下布局:
最后的軸從左到右打印
次后的軸從頂向下打印
剩下的軸從頂向下打印,每個切片通過一個空行與下一個隔開
一維數組被打印成行,二維數組成矩陣,三維數組成矩陣列表。
四、基本運算
數組的算術運算是按對應元素的。新的數組被創建並且被結果填充
1.單個數組和標量之間的運算
a*3 #加、減、乘、除都會與每個位置上的元素進行計算
2.對單個數組的元素進行運算
- abs 計算絕對值
- sqrt 計算各元素的平方根
- square 計算各元素的平方
- exp 計算各元素的以e為底的指數
- log/log10/log2/log1p log1p是log(1+x)
- sign 計算各元素的正負號
- ceil 計算大於等於該元素的最小整數
- floor 計算小於等於該元素的最大整數
- rint 將該元素四舍五入到最接近的整數
- modf 返回該元素的小數和整數部分,以兩個獨立數組的形式
- isnan is not a number 判斷各元素是否是數字
- isfinite isinf 判斷各元素有窮無窮
- cos/sin/tan
- arccos/acccosh/arcsin
3.兩個數組之間的運算
a+b a*b 加、減、乘、除都是兩個數組對應位置元素的運算
- add 將數組中元素相加
- subtract 第一個數組中元素減去第二個數組中元素
- multiply 數組對應元素相乘
- divide floor_divide 除法、丟棄余數的除法
- power(a,b) 將a中元素計算b中對應元素 a的b次方
- mod 求除法的余數
- copysign 將第二個數組中的元素符號賦值給第一個數組中的值
-
< >= <= == != 比較對應元素的值
- logical_and/logical_or/logical_xor
五、形狀操作
1.單一數組的形狀操作
a.ravel() #使數組變平,變成一維數組
a.transpose() #數組的轉置,但是並不會把裝置的結果賦值給a
a.resize(()) #可以指定合適的任意的維度
2.數組間的形狀操作
vstack((a,b)) #將兩個數組沿着垂直方向拼接
hstack((a,b)) #將兩個數組沿着水平方向拼接
3.將一個數組分割成幾個小組
hsplit(a,3) #沿着水平方向分割
vsplit() #沿着列方向分割
六、索引、切片和迭代
因為需要具體代碼解釋,索引和切片參考 利用Python進行數據分析——Numpy基礎:數組和矢量計算
七、線性代數運算
注:轉置 arr.T
np.dot(arr1,arr2) 兩個矩陣的乘積
np.diag 返回對角線元素/或以一維數組轉化為以此為對角線的方陣
trace() 計算對角線的和
det 計算f方陣的行列式值
eig 計算特征值和特征向量
inv 計算逆矩陣
pinv 計算偽逆矩陣
qr 計算QR分解
svd 計算奇異值分解
solve 解線性方程Ax=b
lstsq 計算Ax=b的最小二乘解