1. 程式人生 > >python資料分析、挖掘初學(一):numpy的簡單使用

python資料分析、挖掘初學(一):numpy的簡單使用

開新篇:資料分析學習筆記。

直接在可執行程式碼的基礎上進行註釋說明,首先學習numpy的基礎語法

#numpy
import numpy as np

def main():
    lst=[[1,3,5],[2,4,6]]
    print(type(lst))#型別
    np_lst=np.array(lst)
    print(type(np_lst))
    np_lst=np.array(lst,dtype=np.float)#指定型別
    print(np_lst.shape)#行列
    print(np_lst.ndim)#維數
    print(np_lst.dtype)#型別
    print(np_lst.itemsize)#每個元素的大小
    print(np_lst.size)#大小=元素個數

if __name__=="__main__":
    main()

常用的numpy陣列:

#常用陣列
import numpy as np
def main():
    lst=[[1,2,3],[4,5,6]]
    print(np.zeros([2,4]))#行為2,列為4的全零矩陣
    print(np.ones([3,5]))#……全1矩陣
    
    
    print("Rand;")
    print(np.random.rand(2,4))#產生指定範圍的隨機數
    print(np.random.rand())#隨機產生隨機數
    
    print("RandInt:")
    print(np.random.randint(1,10,3))#隨機產生1~10之間的3個整數
    
    print("Randn:")
    print(np.random.randn(2,4))#2行4列的服從標準正態分佈的隨機數
    
    print("Choice:")
    print(np.random.choice([10,20,30]))#指定隨機產生數值的隨機數
    
    print("Distribute:")
    print(np.random.beta(1,10))#生成服從beta分佈的隨機數
    

if __name__=="__main__":
    main()

一些常用的numpy操作:

#一些基本的numpy操作
import numpy as np
def main():
    lst=[[1,2,3],[4,5,6]]
    print(np.arange(1,11).reshape([2,5]))#不包括11,設定行列,5可預設為-1
    print(np.exp(lst))#nparray可直接對list本身的每個元素進行操作
    print(np.exp2(lst))
    print(np.sqrt(lst))
    print(np.sin(lst))
    print(np.log(lst))
    
    
    lst = np.array([[[1,2,3,4],[5,6,7,8]],[[7,8,9,10],[10,11,12,13]],[[12,13,14,15],[15,16,17,18]]])
    print(lst.sum())#對的每個元素進行求和
    print(lst.max())#最大值
    print(lst.min())#最小值
    
    
    lst1=np.array([10,11,12,13])
    lst2=np.array([20,30,40,50])
    print("Add:")
    print(lst1+lst2)#兩個list每個對應位置的元素的和
    print("Sub:")
    print(lst1-lst2)
    print("Mul:")
    print(lst1*lst2)
    print("Div:")
    print(lst1/lst2)
    print("Square:")
    print(lst1**2)#平方
    print("Dot;")#點乘
    print(np.dot(lst1.reshape([2,2]),lst2.reshape([2,2])))
    
    
    print(np.concatenate((lst1,lst2)))#拼接
    print(np.hstack((lst1,lst2)))#一行
    print(np.hstack((lst1,lst2)))#按照原行數進行拼接
    print(np.split(lst1,2))#分割2份
    print(np.copy(lst1))#拷貝
    
    
if __name__=="__main__":
    main()