日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python中的?Numpy?數(shù)組形狀改變及索引切片_python

作者:??tigeriaf???? ? 更新時間: 2022-07-19 編程語言

1.改變數(shù)組形狀

數(shù)組的shape屬性返回一個元組,包括維度以及每個軸的元素?cái)?shù)量,Numpy 還提供了一個reshape()方法,它可以改變數(shù)組的形狀,返回一個新的數(shù)組。

例如:

a = np.array([1,2,3,4,5,6,7,8])

轉(zhuǎn)換成二維數(shù)組:

b = a.reshape((2,4))

轉(zhuǎn)換成三維數(shù)組:

c = a.reshape((2,2,2))

但是需要注意的是,修改后的數(shù)組元素個數(shù)與原數(shù)組元素個數(shù)必須是一致的,不一致會報(bào)錯。 例如執(zhí)行b = a.reshape((2,5))代碼會報(bào)“ValueError: cannot reshape array of size 8 into shape (2,5)”的錯誤。

2.索引和切片

在處理數(shù)據(jù)時,不可避免要對數(shù)據(jù)進(jìn)行索引和切片,選擇數(shù)據(jù)的某幾行、某幾列數(shù)據(jù)等,Numpy 在這方面也非常強(qiáng)大,具體如下:

一維數(shù)組索引和切片一維數(shù)組索引和切片比較簡單,類似于Python的列表,例如:

a = np.array([1,2,3,4,5,6])
# 獲取第4個元素
a[4]
# 獲取前3個元素
a[:3]

多維數(shù)組索引和切片多維數(shù)組有多個軸,那么就需要對每個軸進(jìn)行索引,此處以二維數(shù)組為例:

a = np.array([[1,2,3],[4,5,6]])
# 獲取某一行數(shù)據(jù)(第二行)
a[1]
# 獲取第二行第二個數(shù)據(jù)
a[1,1]

如果取第0軸前2個元素、第1軸前2個元素,那么切片如下:

a[:2,:2]

布爾索引

Numpy 布爾索引指的是根據(jù)bool類型True和False確定的索引,例如:

a = np.arange(10)
b = a<6
b

結(jié)果輸出如下:

array([ True,  True,  True,  True,  True,  True, False, False, False,
       False])

通過結(jié)果可以看到,元素值小于6的話,布爾索引值為True,否則為False。 如果想要過濾出來符合條件的結(jié)果,而不是輸出True和False,可以使用a[b]a[a<6]實(shí)現(xiàn)。

原文鏈接:https://juejin.cn/post/7084256373172617230

欄目分類
最近更新