1. 程式人生 > >Python中的Numpy包

Python中的Numpy包

對象 序列 tro ali wid PE www. linspace 掌握

通過本次學習你可以掌握Numpy

Numpy介紹(獲取地址)

numpy的主要對象是同質多維數組。也就是在一個元素(通常是數字)表中,元素的類型都是相同的。

numpy的數組類被成為ndarray。別名為array。numpy.array與標準python庫類array.array不一樣,標準庫類中的那個只能處理一維數組並且功能更少。

例如ndarray為矩陣

關於維數和類型操作:
ndarray.ndim 數組的軸(維度)的數量。
ndarray.shape: 數組的維度。
ndarray.size: 數組的元素的總個數。(m*n)
ndarray.dtype: 用來描述數組中元素類型的對象。

例子:

 1 import numpy as np
 2 
 3 A = np.array([1,3,1])
 4 B = np.array([[1],[2],[3]])
 5 C = np.array([1,3,1],dtype= "float64")
 6 print("""
 7 數組A的維度數為%s
 8 數組A的維度為%s
 9 數組A的元素總個數為%s
10 """ %(A.ndim ,B.shape ,A.size))
11 print("""
12 數組A的類型%s
13 數組C的類型%s
14 """ %(A.dtype ,C.dtype ))

結果:

技術分享圖片

關於生成特殊矩陣操作:

zeros() 元素全部為0

ones() 元素全為1

arange(起始,結束,步長)

linspace(起始,結束,元素個數)

為了生成數字序列。numpy提供一個類似於arange的函數,返回一個列表,參數為(起始,結束,步長)
函數linspace是一個更好的選擇,因為我們可以對該函數指定需要創建多少個元素,參數為(起始,結束,元素個數)


例子:

__author__ = "WSX"

import numpy as np

A = np.zeros((3,3))
B = np.ones((3,3))
C = np.arange(1.0,5,2.1)
D = np.linspace(1,5,4)
print("""
生成的A為:\n%s
生成的B為:\n%s
生成的C為:\n%s
生成的D為:\n%s
""" %(A,B,C,D))

結果:

技術分享圖片

關於reshape的使用:

A= np.array([1,2,3,4,5,6,7,8,9])
B= np.array([1,2,3,4,5,6,7,8,9,10,11,12])
print("A(3,3)\n", A.reshape(3,3)) #二維矩陣
print("B(1,9)\n",A.reshape(1,9)) #二維矩陣
print("B(2,2,3)\n",B.reshape(2,2,3)) #三維矩陣

結果:

技術分享圖片

關於矩陣的運算:

  在數組上的算術操作符是逐元素的得到的是一個重新創建的數組,然後將結果寫入新數組中:

  numpy中乘積操作符×是逐元素進行的

  矩陣的積可以通過使用dot 函數

(待續。。。)

Python中的Numpy包