获取numpy数组中元素的索引
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取numpy数组中元素的索引相关的知识,希望对你有一定的参考价值。
我将以下列表转换为numpy.array
:
sells = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 599]
np_sells = np.array(sells)
print(np_sells)
>>
array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
599], dtype=int64)
我想知道第一个不同于0的元素的索引,我尝试使用np.nonzero()方法并得到这个:
a = np.nonzero(np_sells)
print(a)
>> (array([13], dtype=int64),)
我真正需要的是13
在另一个日期列表中查找该数字(我正在研究时间序列),但是如果我尝试使用此代码,则会不断出现相同的错误:
dates_list = ['01-07-2014','01-08-2014','01-09-2014','01-10-2014','01-11-2014','01-12-2014','01-01-2015','01-02-2015','01-03-2015','01-04-2015','01-05-2015','01-06-2015','01-07-2015','01-08-2015','01-09-2015','01-10-2015','01-11-2015','01-12-2015','01-01-2016','01-02-2016','01-03-2016','01-04-2016','01-05-2016','01-06-2016','01-07-2016']
dates_list[a]
>>> TypeError: list indices must be integers or slices, not tuple
我知道它必须真的很简单,但是我被卡住了。
答案
因为a
是一个元组。您不能将其作为索引传递。因此,我们可以尝试一下(很抱歉,您的问题对我不清楚,所以您可能不清楚):
another_array = a[0]
idx = another_array[#Enter the index you want here]
print(dates_list[idx])
以上是关于获取numpy数组中元素的索引的主要内容,如果未能解决你的问题,请参考以下文章