Найти - Пользователи
Полная версия: оператор вызова функции для каждого элемента numpy массива
Начало » Python для новичков » оператор вызова функции для каждого элемента numpy массива
1
reseacher2011
есть такой?

другими словами как заменить такой цикл одним оператором:
idx=ndarray(x.shape[0],dtype='bool')
for i in range(x.shape[0]):
idx[i]=isGoodElement(x[i],other_params)
doza_and
http://www.scipy.org/Numpy_Example_List_With_Doc#head-fbff061fdb843209707a8fa537d9b24b6a91245e
Если ваше условие тестирования не очень сложное то проще написать (как оно может быть сложным когда у вас bool!)
Както так:
idx=x>0
reseacher2011
doza_and
http://www.scipy.org/Numpy_Example_List_With_Doc#head-fbff061fdb843209707a8fa537d9b24b6a91245e
Если ваше условие тестирования не очень сложное то проще написать (как оно может быть сложным когда у вас bool!)
Както так:
idx=x>0
1. условие сложное и в матричном виде не выражается.

2. c vectorize возникла проблема: она other_paramets обрабатывает как элементы массива :-)
doza_and
Да, извините, не туда поглядел - думал на входе bool :)
np.vectorize(lambda v: isGoodElement(v,param1,param2,...),x)
Хм если так пойдет я может и сам научусь vectorize использовать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB