2
有沒有辦法找到使用np.where
拋出異常的索引? 例如:異常平等檢查 - 用Numpy查找拋出異常的索引其中
a = np.array(['0.0', 'hi', '2012:13', '2013/04/05', '9.8', '7.6'])
print np.where(np.float64(a)==Exception)[0][-1]
我希望能提供這樣的輸出:
[ 0. 4. 5.]
但是,它給出了這樣的輸出:
ValueError: could not convert string to float: hi
該腳本可以提供答案,但似乎相當低效,而且更少pythonic:
b = np.array([])
for i, x in enumerate(a):
try:
np.float64(x)
except:
b = np.hstack((b,i))
print b
謝謝,我沒有看到你提供的鏈接,這讓我感覺使用這種方法更好一點。起初,我正在尋找一個numpy的襯墊,因爲它看起來是最高效的,而且是很多次pythonic或容易理解的。 但是,這似乎是達成一致的最可接受的方式來做到這一點。 – chase