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

學無先后,達者為師

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

Python?numpy?ndarray屬性,索引,切片_python

作者:正在學習中的李斌 ? 更新時間: 2022-11-19 編程語言

一、ndarray 的重要屬性

  • dtype屬性:返回ndarray數(shù)組的數(shù)據(jù)類型,數(shù)據(jù)類型的種類。
  • ndim屬性:返回數(shù)組維度的數(shù)量。
  • shape屬性:返回數(shù)組對象的尺度,對于矩陣,即n行m列,shape是一個元組(tuple)。
  • size屬性:返回用來保存元素的數(shù)量,相當于shape中n×m的值。
  • T屬性:返回數(shù)組轉(zhuǎn)置。

二、切片

1. 一維切片

import numpy as np

arr_1d = np.arange(12)

arr_1d[:4]		# 省卻起始,默認從0開始
arr_1d[6:11]
arr_1d[0:11:2]		# 指定步長為 2
arr_1d[12:6:-1]		# 反向切片

1. 二維切片

如果是多維數(shù)組,只需在每個維度之間用 ‘,’ 隔開。

import numpy as np
arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])
arr_2d[0:2, 0:2]

arr_2d[0:2, -3:]		#前2行,倒數(shù)第3列開始

arr_2d[-2:, ::2]		# 倒數(shù)第2行開始 列根據(jù)步長2,每隔一列取一列

三、索引

1. 一維數(shù)組索引

import numpy as np

arr_1d = np.arange(12)
arr_1d[4]  
arr_1d[-2]		# 反向索引
arr_1d[[2,4,6,7,8,9]]		# 同事索引多個

2. 二維數(shù)組索引

import numpy as np

arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])
arr_2d[1, 2]
arr_2d[-1, -1]		# 反向索引


# 如果索引比維度少的多維數(shù)組,則會獲得一個子維數(shù)組
arr_2d[2]		# 取 index=2 的行
# out array([ 7,  8,  9, 10])

arr_2d[2][0]		#  index=2 的行后,再去index=0 的列
# out 7

arr_2d[[2,0]]		# 同時取 index =2 和 index=0 的行
# out array([[ 7,  8,  9, 10], [ 1,  2,  3,  4]])

3. 布爾索引

布爾索引就是根據(jù)條件篩選,判斷每個元素在條件下是True還是False,也就是布爾值,當條件判斷True時,返回。當條件判斷為False時,過濾掉。

import numpy as np

arr_1d = np.arange(12)
arr_1d[[False, False, False, False, False,  True,  True,  True,  True, True,  True,  True]]
# out array([ 5,  6,  7,  8,  9, 10, 11])

arr_1d>=5
# out array([False, False, False, False, False,  True,
#  True,  True,  True, True,  True,  True])

arr_1d[arr_1d>=5]
# out array([ 5,  6,  7,  8,  9, 10, 11])

4. 非運算

arr_1d[~(arr_1d>=5)]
# out array([0, 1, 2, 3, 4])

5. 或運算

只要對應的二個二進位有一個為1時,結(jié)果位就為1。

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

(arr_2d>=8) | (arr_2d<=2)
# out array([[ True,  True, False, False],
#       [False, False, False, False],
#       [False,  True,  True,  True]])


arr_2d[(arr_2d>=8) | (arr_2d<=2)]
# out array([ 1,  2,  8,  9, 10])

6. 與運算

參與運算的兩個值,如果兩個相應位都為1,則該位的結(jié)果為1,否則為0

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

arr_2d[(arr_2d<=8) & (arr_2d>=2)]
# ount array([2, 3, 4, 4, 5, 6, 7, 7, 8])

原文鏈接:https://blog.csdn.net/qq_35240689/article/details/126967606

欄目分類
最近更新