(一)學(xué)習(xí)筆記:numpy的使用

一.Numpy的使用

NumPy(Numeric Python)提供了許多高級的數(shù)值編程工具洒敏,如:矩陣數(shù)據(jù)類型龄恋、矢量處理,以及精密的運(yùn)算庫, 而且提供了python對多維數(shù)組對象的支持: ndarray, 也針對數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫凶伙。
導(dǎo)包

import numpy as np
>> np.__version__  # 查看numpy的版本號

(1) 創(chuàng)建ndarray

1. 使用np.array()創(chuàng)建

實(shí)例:

# numpy和list類似,但是numpy中的數(shù)組功能更加強(qiáng)大
>> nd1 = np.array([2,4,6,'ll'])
array(['2','4','6','ll'])  # 將類型統(tǒng)一為同一類型
>> print(type(nd1))
<class 'numpy.ndarray'>

注意:
numpy中默認(rèn)ndarray的所有元素的數(shù)據(jù)類型是相同的郭毕,如果數(shù)據(jù)類型不同, 會統(tǒng)一為同一類型, 優(yōu)先級str > float > int

2. 使用nproutines函數(shù)創(chuàng)建

(1) np.one(shape, dtype=None, order='C') 創(chuàng)建數(shù)組
根據(jù)所給的形狀和類型返回一個元素全部為1的數(shù)組, 默認(rèn)numpy.float64類型
參數(shù):

shape:  定義返回元組的形狀, 傳入int或ints元組, 如果傳入int,返一維數(shù)組,如果傳入ints元組,返回多維數(shù)組镊靴。 例如:(2,3)或2
dtype: 定義的數(shù)據(jù)類型,可選參數(shù)铣卡。默認(rèn)numpy.float64。例如:numpy.int8
order: 可選, 返回多維數(shù)組時,內(nèi)存的排列方式

實(shí)例:

>> np.ones(shape=(5,4))  # 返回一個5行4列的數(shù)組,元素的內(nèi)容都為1
>> ones = np.ones(shape=(3,2,3), dtype=int)  # 返回3個兩行三列都為1的數(shù)組

(2) np.zeros(shape, dtype=float,order='c')
返回根據(jù)給定的形狀和類型全部為0的數(shù)組
實(shí)例:

np.zeros(shape=(5,4))  # 返回一個5行4列都為0的數(shù)組

(3) np.full(shape,fill_value,dtype=None,order='C')
根據(jù)給定的形狀和所填充的值, 返回一個新的數(shù)組偏竟。
實(shí)例:

np.full(shape=(6,5,2), 1)  # shape可以理解為6個5行2列的數(shù)組,并且都是使用1填充煮落。

(4) np.eye(N, M=None, k=0,dtype=float)
返回一個對角線為1,其他位置為0的數(shù)組,(可以理解為單位矩陣)
參數(shù):
N : 返回數(shù)組的行數(shù)
M : 可選, 返回的數(shù)組的列數(shù)。如果不指定踊谋,返回的數(shù)組行=列蝉仇。
k : 可選, 指定對角線的位置。
dtype : 可選, 返回數(shù)組的數(shù)據(jù)類型殖蚕。
實(shí)例:

np.eye(3,3)  # 3行3列的數(shù)組,主對角線為1, 其余為0轿衔。

(5) np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
在指定的范圍內(nèi)返回均勻間隔的數(shù)字, 返回均勻分布的樣本。
參數(shù):
start: 序列的起始點(diǎn)
end: 序列的結(jié)束點(diǎn)
num: 生成的樣本數(shù), 默認(rèn)是50個睦疫。
實(shí)例:

np.linspace(1,10) # 50個元素的數(shù)組
np.linspace(1,10,10) # array([  1.,2.,3., 4.,5.,6.,7.,8.,9.,10.]) -- 1-10分成10份

(6) np.arange([start,]stop,[step,]dtype=None)
類似python原生的range()方法,只不過返回的是array害驹。
實(shí)例:

np.arange(0,100,step=2)  # 創(chuàng)建由偶數(shù)組成的數(shù)組

(7) np.random.randint(low,high=None, size=None, dtype="l")
生成在區(qū)間[low,high)上的隨機(jī)整數(shù)值;若high=None, 則取值區(qū)間變?yōu)閇0,low), size為最大長度, 為整形和整形元組。
實(shí)例:

np.random.randint(10,20) # 生成一個10-19之間的隨機(jī)值
np.random.randint(10,20,size=10) # 返回一個數(shù)組蛤育,包含10個隨機(jī)整數(shù)
np.random.randint(10,20,size=(2,3,4)) # 生成兩個3行4列的隨機(jī)值數(shù)組

(8) np.randn(d0,d1,...dn)
標(biāo)準(zhǔn)的正太分布,參數(shù)為維度
實(shí)例:

np.random.randn(10,5)  # 如果只給第一個參數(shù)為一維宛官,給第二個參數(shù)為二維,...

(9) np.random.normal(loc=0.0, scale=1.0, size=None)
正太分布函數(shù)
參數(shù):
loc : 浮點(diǎn)型, 概率分布的均值, 對應(yīng)著整體分布的中心center
scale :浮點(diǎn)型, 概率分布的標(biāo)準(zhǔn)差
size : 整形或整形數(shù)組, 默認(rèn)為None, 只返回一個值
實(shí)例:

np.random.normal(175, scale=0, size=100)  # 概率分布的標(biāo)準(zhǔn)差為0, 返回100個元素的數(shù)組, 元素都為175
np.random.normal(175, scale=100, size=100)  # 100個正太分布元素

(10) np.random.random(size=None)
生成0到1的隨機(jī)數(shù)葫松。
實(shí)例:

np.random.random(size=(5,4)) # 5行4列

小例子:
圖片一般可以轉(zhuǎn)換為二維(灰色)或三維(彩色)的數(shù)組,下面我們利用所學(xué)的知識,隨機(jī)生成一個三維的圖片。

# 首先導(dǎo)包
import numpy as np
import matplotlib.pyplot as plt  # 一個非常簡單的繪圖庫, 后面會說, 現(xiàn)在先用它底洗。
# 生成隨機(jī)數(shù)
random_pic = np.random.random(size=(273,410,3))
plt.imshow(random_pic)  # 顯示

結(jié)果可想而知,應(yīng)該是這樣


image.png

二. ndarray的屬性

屬性:
ndim : 數(shù)組的維度
shape : 屬性的形狀(各維度的長度)
size : 總長度
dtype : 元素類型

三. ndarray的基本操作

(1) 索引
實(shí)例:

未完.....

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末腋么,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子亥揖,更是在濱河造成了極大的恐慌珊擂,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件费变,死亡現(xiàn)場離奇詭異摧扇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)胡控,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門扳剿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人昼激,你說我怎么就攤上這事庇绽。” “怎么了橙困?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵瞧掺,是天一觀的道長。 經(jīng)常有香客問我凡傅,道長辟狈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任夏跷,我火速辦了婚禮哼转,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘壹蔓。我一直安慰自己猫态,他們只是感情好勇凭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著璧函,像睡著了一般柳譬。 火紅的嫁衣襯著肌膚如雪美澳。 梳的紋絲不亂的頭發(fā)上制跟,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天读串,我揣著相機(jī)與錄音排监,去河邊找鬼舆床。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的情臭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼趾浅,長吁一口氣:“原來是場噩夢啊……” “哼浅侨!你這毒婦竟也來了鼓黔?” 一聲冷哼從身側(cè)響起澳化,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤列林,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纺铭,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年刀疙,在試婚紗的時候發(fā)現(xiàn)自己被綠了舶赔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡谦秧,死狀恐怖竟纳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疚鲤,我是刑警寧澤锥累,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站集歇,受9級特大地震影響桶略,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一际歼、第九天 我趴在偏房一處隱蔽的房頂上張望惶翻。 院中可真熱鬧,春花似錦鹅心、人聲如沸吕粗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽溯泣。三九已至,卻和暖如春榕茧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背客给。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工用押, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人靶剑。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓蜻拨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親桩引。 傳聞我的和親對象是個殘疾皇子缎讼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評論 2 353