您的位置:首页 > 编程语言 > Python开发

【python】numpy数组按下标获取值的一个小问题

2018-03-22 16:22 489 查看

numpy数组按下标获取值

在为数据生成标签时,写了一个很简单的代码,但是一直有问题,困扰了我很久,很久以后才解决并且想明白,特此记下这个问题,以免日后在犯。

原始代码如下:

import numpy as np
num = 5 #数据分类的数目
per = 200 #每类数据的条数
lable = np.zeros((num*per,num))
for i in range(0,num):
lable[i*per:(i+1)*per-1,i] = 1


使用这个代码,会使得每类的最后一个数据,没有打上标签。比如lable[199,0]应该是1,但是结果却是0。

每次都必须后面一个个补全。

后面过了很久,用到了range这个函数。

a = np.range(1,5)
print(a)
输出结果是[1,2,3,4]。


输出没有5 ,没有5。

突然都明白了。

lable[0:199,:] 并不包含lable[199,:]。

将原代码做了修改,就一切都好了。

import numpy as np
num = 5 #数据分类的数目
per = 200 #每类数据的条数
lable = np.zeros((num*per,num))
for i in range(0,num):
#lable[i*per:(i+1)*per-1,i] = 1
lable[i*per:(i+1)*per,i] = 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐