目录
测试[1:]以及[1,:]
测试[:,0]以及[:,1]
测试[:0],[:1],[:2]
实际应用
先创建一个测试样例
import numpy as np
a= np.array([[0,1],[2,3],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[16,17],[18,19]])
print(a)
输出结果为:
[[ 0 1]
[ 2 3]
[ 4 5]
[ 6 7]
[ 8 9]
[10 11]
[12 13]
[14 15]
[16 17]
[18 19]]
print(a[1:])
print('------------')
print(a[1,:])
测试结果为:
[[ 2 3]
[ 4 5]
[ 6 7]
[ 8 9]
[10 11]
[12 13]
[14 15]
[16 17]
[18 19]]
------------
[2 3]
print(a[:,0])
print('------------')
print(a[:,1])
测试结果为:
[ 0 2 4 6 8 10 12 14 16 18]
------------
[ 1 3 5 7 9 11 13 15 17 19]
[:,0]就是取所有行第0个数据[:,1]就是取所有行第1个数据
print(a[:0])
print('------------')
print(a[:1])
print('------------')
print(a[:2])
测试结果为:
[]
------------
[[0 1]]
------------
[[0 1]
[2 3]]
在做知识图谱嵌入时,存好的数据存入dataset,再放入dataloader,然后转换成nump,通过[:,0]就可以取到所有头实体id
dataset = tripleDataset(posDataPath=args.validpath,
entityDictPath=args.entpath,
relationDictPath=args.relpath)
dataloader = DataLoader(dataset,
batch_size=len(dataset),
shuffle=False,
drop_last=False)
for tri in dataloader:
tri=tri.numpy()
print(tri)
print('-------------')
print(tri[:,0])
exit()
[[ 6431 52 790]
[ 127 326 2874]
[13176 3 12512]
...
[ 6330 9 5895]
[ 7895 26 4826]
[ 626 166 1240]]
-------------
[ 6431 127 13176 ... 6330 7895 626]