一、向量是什么
目前創(chuàng)新互聯(lián)已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、遂溪網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
在數(shù)學(xué)中,向量(也稱為歐幾里得向量、幾何向量、矢量),指具有大?。╩agnitude)和方向的量。它可以形象化地表示為帶箭頭的線段。箭頭所指:代表向量的方向;線段長度:代表向量的大小。與向量對應(yīng)的只有大小,沒有方向的量叫做數(shù)量(物理學(xué)中稱標(biāo)量)
在這里,向量即一維數(shù)組,用 arange 函數(shù)創(chuàng)建向量是最簡單的方式之一:
arange函數(shù)也可以指定初始值、終止值和步長來創(chuàng)建一維數(shù)組:
向量還能直接對每個元素進(jìn)行運(yùn)算:
二、創(chuàng)建向量
上面使用 arange 則是創(chuàng)建向量的一種方式,其實只要是數(shù)組創(chuàng)建的函數(shù)均可以創(chuàng)建向量,如:
linspace() 函數(shù)
前文介紹:linspace 通過制定初始值、終止值和元素個數(shù)創(chuàng)建等差數(shù)列向量,通過endpoint 參數(shù)指定是否包含終止值,默認(rèn)為True
logspace() 函數(shù)
同linspace,創(chuàng)建等比數(shù)列,基數(shù)通過base參數(shù)指定,默認(rèn)基數(shù)為10
zeros() 函數(shù)和 ones() 函數(shù)
這兩個函數(shù)分別可以創(chuàng)建指定長度或形狀的全0或全1的 ndarray 數(shù)組,比如:
指定數(shù)據(jù)類型:
empty() 函數(shù)
這個函數(shù)可以創(chuàng)建一個沒有任何具體值的 ndarray 數(shù)組,例如:
random.randn() 函數(shù)
randn 是 numpy.random 中生成正態(tài)分布隨機(jī)數(shù)據(jù)的函數(shù)
fromstring() 函數(shù)
從字符串創(chuàng)建數(shù)組
上面從字符串創(chuàng)建的數(shù)組,定義為整形8bit,創(chuàng)建出來的其實就是字符串的ASCII 碼
fromfunction() 函數(shù)
從函數(shù)創(chuàng)建數(shù)組,是數(shù)據(jù)分析常見的方法
可先定義一個從下標(biāo)計算數(shù)值的函數(shù),然后用fromfunction 創(chuàng)建數(shù)組
fromfunction 第一個參數(shù)為計算每個數(shù)組元素的函數(shù)名,第二個參數(shù)指定數(shù)組的形狀。因為它支持多維數(shù)組,所以第二個參數(shù)必須是一個序列。
例如我創(chuàng)建一個九九乘法表:
注意,fromfunction 函數(shù)中的第二個參數(shù)指定的是數(shù)組的下標(biāo),下標(biāo)作為實參通過遍歷的方式傳遞給函數(shù)的形參。
眾多python培訓(xùn)視頻,盡在python學(xué)習(xí)網(wǎng),歡迎在線學(xué)習(xí)!
numpy中直接用 * 即可表示數(shù)與向量的乘法,參考python 2.7的一個例子:
inport numpy as np
a = np.array([1,2,3,4]) # 向量
b = 5 # 數(shù)
print a*b
++++++++++++
[5,10,15,20]
首先要寫上這一句:
from numpy import *
(寫上這句的前提也得你已經(jīng)安了numpy)
(1) 定義一個零向量(4維):
a=zeros(4)
a
array([0.,0.,0.,0.])
定義一個List:
b=[1,2,3,4]
(2)向量可直接與List相加:
c=a+b
c
array([1.,2.,3.,4.])
(3)要給向量里每個元素都乘以同一個數(shù):
d=b*[3]
或者:
c=3
d=b*[c]
d
array([3.,6.,9.,12.])
而不能是d=b*3,即要乘的這個數(shù)字得是個List形式
(4)兩個向量相除(對應(yīng)元素相除):
e=[3,2,3,4]
f=d/e
f
array([1.,3.,3.,3.])