Преобразование np-массива из float в сложный

107
13

У меня есть numpy-массив с типом данных float, но функция extern нуждается в его сложном типе данных. Когда я использую a.view(np.complex), реальные значения также используются для сложных значений, испортить мои дальнейшие вычисления, то есть:

a = [1, 2, 3]
b = a.view(np.complex)
> b = [1+1i, 2+2i, 3+3i]

Есть ли такая команда, которую я получаю

> b = [1+0i, 2+0i, 3+0i]

?

спросил(а) 2021-01-28T02:44:10+03:00 2 месяца, 2 недели назад
1
Решение
87

Да, используйте astype():

In [6]: b = a.astype(complex)
In [7]: b
Out[7]: array([ 1.+0.j, 2.+0.j, 3.+0.j])

In [8]: b.dtype
Out[8]: dtype('complex128')

ответил(а) 2021-01-28T02:44:10+03:00 2 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема