Нет необходимости называть, скажем, np.power
явно; выполнив ваши вычисления перед использованием sorted
(или даже вместо np.sort
), мы можем просто использовать операторы:
np.sort(data ** (3 / 4))
Обязательно, это даст nan
значений, потому что корень отрицательного числа будет сложным, и ваш массив может обрабатывать только floats
.
Поэтому решение состоит в том, чтобы привести его к типу dtype np.complex
:
data = np.sort(stats.norm.rvs(size=10).astype(np.complex) ** (3 / 4))
print(data)
Выход:
[-1.18840462+1.18840462j -0.10707968+0.10707968j -0.09787584+0.09787584j
-0.05992208+0.05992208j 0.10880864+0.j 0.1484953 +0.j
0.45161317+0.j 0.78783041+0.j 0.79189574+0.j
0.93656538+0.j ]