Python學習(一)
由於今年剛剛讀研,而且導師的研究方向是資料採礦,雖然之前專業是電腦,但大學四年基本在吃喝玩樂中度過,所以基本算編程小白一枚,學習python等於認真重新學習一門語言,因此想要每周寫篇部落格來推動自己學習,學習過程中有很多不足,希望大家指正。
python入門
1.numpy
Numpy是python進行科學計算,尤其是資料分析時用到的一個基礎庫,是大量python數學和科學計算包的基礎(如pandas).ndarray是Numpy庫的心臟,數組的維數和元素數量由數組的型(shape)確定,數組的維統稱為軸(axes),軸的數量稱為秩(rank) 1.1. 建立N維數組(ndarray) 使用array()函數 參數為單層或嵌套列表:b = np.array([1.3,2.2],[0.3,4.1]) 參數為嵌套元祖或元祖列表:b = np.array((1.3,2.2),(0.3,4.1)) 參數是由元祖或列表組成的列表:b = np.array((1.3,2.2),[4.5,6.6],(0.3,4.1))
2.內建的數組建立方法
2.1 zeros():產生由shape參數指定維度資訊、元素均為0的數組 np.zeros((3,3)) 2.2 ones():同上,產生元素均為1,上述兩個函數預設float np.ones((3,3)) 2.3 arange()函數:按照特定規則,產生包含一個數值序列的數組,預設以0為起始值 arange(10):array([0,1,..,9]) arange(4,10):array([4,5,6,7,8,9]) arange(0,12,3):array([0,3,6,9]) arange(0,6,0.6):array([0.,0.6,1.2.....,5.4]) arange與python的range()不一樣,range()函數只可以用整數做步長
上面產生的都是一維數組,如果要產生多維陣列,可以在arange後面加上reshape()函數,指定形狀,把一維數組拆分成不同的部分:
np.arange(0,12).reshape(3,4)
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
2.4 random()函數產生N維隨機數組
3.基本操作
3.1 算數運算子(+,-,*,/)--元素級,只用於位置相同的元素之間 3.2 矩陣(內)積: np.dot(A,B)或A.dot(B) 3.3 通用函數(分別處理數組中每個元素): 如sqrt():計算平方根;log(),sin()...... 3.4 彙總函式:對一組值(如一個數組)進行操作,返回一個單一值作為結果,如:sum(),min(),max(),mean(),std().....