介紹 NumPy 的五種玩法

三步加星標(biāo)
圖解入門 NumPy,這篇文章,已經(jīng)讓我們感知到NumPy的強(qiáng)大,但要想真正用活NumPy,還不夠!下面介紹五種玩法,以此深入掌握NumPy:
1. 記住NumPy中文網(wǎng)站:https://www.numpy.org.cn/,里面包括NumPy 的官檔中文版,使用入門,實(shí)戰(zhàn)等。
里面包括NumPy官檔最詳細(xì)的一個(gè)中文翻譯,地址為:
2. 理解NumPy的向量化能力,這正是賦予它簡(jiǎn)潔的重要原因之一。使用Python原生API會(huì)經(jīng)常寫些for,但是NumPy讓它變得不再需要,NumPy一切都是按照向量計(jì)算。如下計(jì)算小于3的元素置0,否則置為1:
#?使用Python原生
a?=?[10,4,-6,3,5,1]
#?小于3的元素置為0,不小于3的元素置為1
b?=?[]
for?i?in?a:
????b.append(0?if?i?3?else?1)
print(b)
使用 NumPy 的where方法,語法更加簡(jiǎn)潔,看不到for語句,符合Python哲學(xué):
#?使用NumPy
na?=?np.array(a)
#?一行代碼
b?=?np.where(na?3,?0,?1)
print(b)na?=?np.array([10,4,-6,3,5,1])
na[na?3]
#?結(jié)果如下:
#?array([-6,??1])#?創(chuàng)建二維數(shù)組
np.random.randint(1,10,size=(3,4))
c2?=?np.random.randint(1,10,size=(3,4))
c2
array([[3,?2,?9,?9],
???????[9,?5,?2,?4],
???????[8,?1,?2,?4]])
#?更強(qiáng)大簡(jiǎn)潔的切片功能:
c2[:2,1:3]
array([[2,?9],
???????[5,?2]])
評(píng)論
圖片
表情
