numpy所包括的函式可以十分方便的進行資料處理,尤其是矩陣運算,之前的python都是使用列表與元組,在進行矩陣運算的時候非常不便。對於同樣的數值計算任務,使用numpy要比直接使python**方便得多。因為numpy 能夠直接對陣列和矩陣進行操作,**量大大的減少了,並且其眾多的數學函式也會讓編寫**的工作輕鬆許多。
使用建立二維陣列的方法建立矩陣,我們使用的是array函式
1.生成矩陣例項;
import numpy as np
a=np.array([[1,2],[3,4]])
print(a)
輸出結果為
2.資料型別定義;
我們知道每乙個元素都有對應的資料型別,numpy的資料型別有int32 int64 float32 bool等,我將如何定義呢?需要使用dtype,
例項:
a=np.array([[1,3,5],[2,5,3],[3,5,7]],dtype=np.float)
print(a.dtype)
輸出為:
這個時候陣列中的每乙個元素型別已經定義為了float64型別,當然你也可以定義為float32
3.檢視矩陣資訊;
這個時候可以用ndim檢視維度(注意這裡是陣列的維度,區分清楚陣列和矩陣),用shape和size看矩陣大小
例項:
a=np.array([[1,3,5],[2,5,3],[3,5,7]],dtype=np.float)
print(a)
print('number of dim: ',a.ndim)
print('shape: ',a.shape)
print('size: ',a.size)
print(a.dtype)
1.建立0矩陣
a=np.zeros((3,4))
print(a)
建立3行4列的0矩陣,輸出為:
2.建立全為1的矩陣
a=np.ones((5,5))
建立5x5的矩陣
輸出為:
3.利用reshape生成特定的矩陣
a=np.arange(8,20,1).reshape((3,4))
範圍8到20,步長為1,生成3x4的矩陣
輸出:4.利用random生成隨機矩陣
r=np.random.random((2,4))
生成2x4的隨機數矩陣
1.加減運算
這裡指的是2個矩陣的對應元素相加減,這裡一定要注意是同型別的矩陣不然會報錯
a=np.arange(8,20,1).reshape((3,4))
print(a)
[[ 8 9 10 11]
[12 13 14 15]
[16 17 18 19]]
b=np.ones((3,4))
print(b)
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
>>> c=a-b
[[ 7. 8. 9. 10.]
[11. 12. 13. 14.]
[15. 16. 17. 18.]]
2.矩陣中每乙個元素自己的平方運算
a=np.arange(8,20,1).reshape((3,4))
print(a)
[[ 8 9 10 11]
[12 13 14 15]
[16 17 18 19]]
a**2
array([[ 64, 81, 100, 121],
[144, 169, 196, 225],
[256, 289, 324, 361]], dtype=int32)
c=np.dot(a,d)
第二種:
c=a.dot(d)
結果都一樣,不過需要注意的是
ps:來自《線性代數》同濟大學數學系編 第六版
一定要注意,不然是會報錯的。
1.三角函式
>>> c=np.sin(b)
>>> print(b)
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
>>> print(c)
[[0.84147098 0.84147098 0.84147098 0.84147098]
[0.84147098 0.84147098 0.84147098 0.84147098]
[0.84147098 0.84147098 0.84147098 0.84147098]]
可以看出每乙個元素都進行了sin()的操作,另外cos tan等同理,注意定義域範圍。
2.判斷大小
>>> a
array([[ 8, 9, 10, 11],
[12, 13, 14, 15],
[16, 17, 18, 19]])
>>> a<14
array([[ true, true, true, true],
[ true, true, false, false],
[false, false, false, false]])
這裡判斷小於14的值,符合則輸出true否則false
3.求矩陣中的最大值和最小值和矩陣各個元素求和
print(np.sum(a))
print(np.min(a))
print(np.max(a))
同時我們也可以使用axis來控制行和列
print(np.sum(a,axis=1)) #axis為1則在行中求和,0則在列中
python科學計算之numpy
1.np.logspace start,stop,num 函式表示的意思是 在 start,stop 間生成等比數列num個 eg import numpy as npprint np.logspace 1,4,4 結果為 10.100.1000.10000.2.np.fromstring admi...
python科學計算 numpy
畢設的程式設計中使用了python來處理資料,主要使用的是numpy包,網上大部分對numpy進行介紹的教程比較老舊,想要使用的功能不太容易找到。因此,寫這篇文章來對現有的一些資源就行整理,當然想要更全面的了解numpy的使用還是從訪問官方手冊開始。win下 pip isntall numpy當然最...
科學計算工具 Numpy
基礎類庫簡介 ndarray陣列建立 ndarray的矩陣運算 元素計算函式 元素統計函式 元素判斷函式 元素去重排序函式 資料分析概念 資料分析是指用適當的統計分析方法對收集來的大量資料進行分析,提取有用資訊和形成結論的過程。資料分析的過程 1.資料收集 本地資料或者網路資料的採集與操作.2.資料...