小白Python學習第一彈

Python Numpy

Numpy底層是用C寫的,所以ndarray(np.array)運行速度比內置的list快,但是不能裝下太多的東西。

簡單介紹數組

    np_list = np.array(lst, dtype=int)#設置數據類型
    print(type(np_list))#輸出類型
    print(np_list.shape)#查看矩陣是幾行幾列
    print(np_list.ndim)#查看矩陣維度
    print(np_list.itemsize)#查看每個元素所佔字節
    print(np_list.size)#查看一共包含多少元素
    #Rand 隨機生成一個數
    print(np.random.rand())
    #Randint隨機生成1到100的整數,生成5個
    print(np.random.randint(1, 100, 5))
    #Randn隨機生成一個3*3的正態分佈
    print(np.random.randn(3, 3))
    #Choice隨機從數組中選取一個數
    print(np.random.choice([12, 22, 44, 333, 55]))
    #Distribute生成一個beta分佈,生成20個數據
    print(np.random.beta(1, 5, 20))

運用numpy 的運算

    lst = np.arange(1, 11).reshape([2, -1])#將等差數列塑造成2行矩陣
    print(lst)
    print(np.exp(lst))#輸出其exp
    print(np.exp2(lst))
    print(np.sqrt(lst))
    print(np.sin(lst))
    print(np.log10(lst))

    lst = np.array([[[1, 2, 3, 4],
                     [5, 6, 7, 8]],
                    [[9, 10, 11, 12],
                     [13, 14, 15, 16]],
                    [[17, 18, 19, 20],
                     [21, 22, 23, 24]]])#構成一個三維矩陣
    print(lst.sum(axis=0))#輸出當係數爲0的時候的和,爲2*4
    print(lst.sum(axis=1))#輸出當係數爲1的時候的和,爲3*4
    print(lst.sum(axis=2))#輸出當係數爲2的時候的和,爲3*2
    print(lst.max(axis=0))#同上,只是判斷的是最大值的數組構成的矩陣
    print(lst.min(axis=1))#同上,只是判斷的是最小值的數組構成的矩陣

    lst1 = np.array([10, 20, 30, 40])
    lst2 = np.array([4, 3, 2, 1])
    #一系列的加減乘除
    print(lst1 + lst2)
    print(lst1 - lst2)
    print(lst1 / lst2)
    print(lst1 * lst2)
    print(lst1**2)
    print(np.dot(lst1.reshape([2, 2]), lst2.reshape([2, 2])))#進行矩陣的點乘
    print(np.concatenate((lst1, lst2), axis=0))#顯示出一個單排的矩陣,axis最好是默認,形成一行
    print(np.vstack((lst1, lst2)))#形成2行矩陣
    print(np.hstack((lst1, lst2)))#形成單獨一行矩陣
    print(np.split(lst2, 2))將矩陣分割成兩個
線性方程
     print(np.eye(3))#獲取單位矩陣
    lst = np.array([[1, 2],
                   [3, 4]])
    #求矩陣的逆
    print(inv(lst))
    #轉置
    print(lst.transpose())
    #求行列式
    print(det(lst))
    #特徵值和特徵向量
    print(eig(lst))
    y = np.array([[5], [7]])
    print(solve(lst, y))#已知一個矩陣和最後矩陣的解,求運算過程中的另一個矩陣值

#生成多元一次函數
    print(np.poly1d([2, 1, 3]))


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章