Неверный целочисленный вывод numpy .piecewise - PullRequest
0 голосов
/ 06 августа 2020

Результатом моего кода должно быть плавающее число (16.7), но теперь это целое число (16).

Это мой код:

import numpy as np

def delta(s):

    def fun_low(s):
        return s+0.5    

    def fun_intermediate(s):
        print("s+1.7:",s+1.7)
        return s+1.7
        
    def fun_high(s):
        return s+777.1    

    result=np.piecewise(s,[s<10,20<=s],[lambda s:fun_low(s),lambda s:fun_high(s),lambda s:fun_intermediate(s)])
    return result

print('result:',delta(15))

И результат:

s+1.7: [16.7]
result: 16

Любая помощь будет принята с благодарностью.

...