alex网站建设,发布课程的网站模板,浙江省建设信息网站,很多网站开发没有框架如何制作的数值索引
数值索引类似列表索引操作使用[]#xff0c;参数为下标#xff0c;[0,len-1),高维数组的索引使用多个[]连用分别代表一维索引#xff0c;二维索引...
import numpy as np
import torchnp.random.seed(1)
data1 np.arange(5)
data2 np.arange(15).reshape(3,5)
…数值索引
数值索引类似列表索引操作使用[]参数为下标[0,len-1),高维数组的索引使用多个[]连用分别代表一维索引二维索引...
import numpy as np
import torchnp.random.seed(1)
data1 np.arange(5)
data2 np.arange(15).reshape(3,5)
print(data1,end\n\n)
print(data2,end\n\n)print(data1[1])
print(data2[1][2])# [0 1 2 3 4]
#
# [[ 0 1 2 3 4]
# [ 5 6 7 8 9]
# [10 11 12 13 14]]
#
# 1
# 7
列表索引
列表索引在list中不支持但ndarray可用
列表索引可以将多个索引合在一个列表中作为索引参数
格式为[dim1_index,dim2_index...]
同样也可以将列表换为ndarray或切片形式
import numpy as np
import torchnp.random.seed(1)
data1 np.arange(5)
data2 np.arange(15).reshape(3,5)
print(data1,end\n\n)
print(data2,end\n\n)print(data1[[0,1,3]])
print(data2[[0,1],[1,3]])print(data2[:,[1,2]])# [0 1 2 3 4]
#
# [[ 0 1 2 3 4]
# [ 5 6 7 8 9]
# [10 11 12 13 14]]
#
# [0 1 3]
# [1 8]
# [[ 1 2]
# [ 6 7]
# [11 12]]
注意如果列表索引中若使用二维数组作为索引列表则会分别取出该维度对应索引中的所有元素
import numpy as np
import torchnp.random.seed(1)
data1 np.arange(5)
data2 np.arange(15).reshape(3,5)
print(data2[[[0],[1]],[2,3]])
print(data2[[0,1],[2,3]])# [[2 3]
# [7 8]]
# [2 8]
这里可以看到[[0],[1]]是把该维度所有元素取出再进行下一维度的索引而若只使用[0,1]则会与下一维度的索引列表进行两两匹配
布尔索引
布尔索引就是把索引列表换为布尔列表该列表要与被索引的列表等长值为True则对应位置保留。
import numpy as np
import torchnp.random.seed(1)
data1 np.arange(5)
data2 np.arange(15).reshape(3,5)
print(data1[[True,True,False,True,False]])
# [0 1 3]
同样我们可以设置条件筛选来返回布尔列表然后重新进行索引
import numpy as np
import torchnp.random.seed(1)
data1 np.arange(5)
data2 np.arange(15).reshape(3,5)
print(data2,end\n\n)print(data25)print(data2[data2 5])# [[ 0 1 2 3 4]
# [ 5 6 7 8 9]
# [10 11 12 13 14]]
#
# [[False False False False False]
# [False True True True True]
# [ True True True True True]]
# [ 6 7 8 9 10 11 12 13 14]