[Python基礎] 5-Numpy:開源,數據計算的擴展

import numpy as np

I.數據結構
numpy的底層語言爲C,因此nparray的解決了這個問題,nparray是np中最基礎的數據結構
1.nparray
list = [[1,3,5],[2,4,6]]
print(type(list))
np_list = np.array(list)
print(type(np_list))
# 可以用dtype指定數據類型,數據類型有很多種
np_list2 = np.array((list),dtype=float)
print(type(np_list2))
2.nparray的數據屬性
print(np_list.shape)  # 形狀
print(np_list.ndim)  # 維度
print(np_list.dtype)  # 數據類型
print(np_list.itemsize)  # 每個元素的大小
print(np_list.size)  # 大小,總字節的itemsize*size

II.常用nparry
print(np.zeros((2,4))) # 生成2*4的全0矩陣
print(np.ones((3,5),dtype=np.int))  # 生成3*5的全1矩陣
print(np.random.rand(1,10))  # 生成2*4的範圍都在0-1的隨機數矩陣
print(np.random.rand())  # 生成單個0-1範圍內的隨機數
print(np.random.randint(1,10,3))  # 生成3個1-10之間的整數
print(np.random.randn(2*4))  # 生成2*4的標準正態分佈矩陣
print(np.random.choice([10,20,30]))  # 從給的數裏面隨機選取一個
print(np.random.beta(1,10,100))  # 生成其他分佈,如beta分佈等

III.常用操作
print(np.arange(1,11).reshape(2,5))  # 1-10排列成2*5的矩陣
lst1 = np.array([10,20,30,40])
lst2 = np.array([4,3,2,1])
print(lst1 + lst2)
print(lst1 - lst2)
print(lst1 * lst2)
print(np.dot(lst1.reshape([2,2]),lst2.reshape([2,2])))  # 點乘
print(np.vstack((lst1,lst2)))  # 縱向拼接
print(np.hstack((lst1,lst2)))  # 橫向拼接
print(np.split(lst1,4))  # 拆分

IV.矩陣操作和線性方程組
from numpy.linalg import *
print(np.eye(3))  # 設置一個3*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))  # 解方程組

V.其他應用
print(np.corrcoef([1,0,1],[0,2,1]))  # 皮爾遜相關係數

 

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