У меня есть массив NumPy arr = np.array([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5])
.
Тогда как я могу поднять каждый элемент до (скажем) 3/5-й степени?
Когда я пытаюсь что-то вроде этого:
>>> np.float_power(arr, 3/5)
>>> arr**(3/5)
Я всегда получаю этот вывод:
array([ nan, nan, nan, nan, nan,
0. , 1. , 1.16150873, 1.26782173, 1.34910253,
1.4157205 ])
Однако x**(3/5)
должен быть вычисляем для отрицательных чисел x
, так как это только пятый корень из x
в кубе!
Я думаю, это потому, что Python не видит 3/5 как «идеальную дробь» 3/5, а как действительное число (очень) близкое к 0,6 (например, 0,59999999999999999).
Как я могу исправить эту проблему?