Преобразование массив numty объектов dtype в dtype-комплекс

У меня есть массив numpy, который я хочу преобразовать из объекта в сложный. Если я возьму этот массив как строку dtype и преобразую его, нет проблем:

In[22]: bane Out[22]: array(['1.000027337501943-7.331085223659654E-6j', '1.0023086995640738-1.8228368353755985E-4j', '-0.017014515914781394-0.2820013864855318j'], dtype='|S41') In [23]: bane.astype(dtype=complex) Out[23]: array([ 1.00002734 -7.33108522e-06j, 1.00230870 -1.82283684e-04j, -0.01701452 -2.82001386e-01j]) 

Но когда это объект dtype, и я пытаюсь его преобразовать, я получаю сообщение об ошибке, что требуется float. Почему это?

 In [24]: bane.astype(dtype=object) Out[24]: array(['1.000027337501943-7.331085223659654E-6j', '1.0023086995640738-1.8228368353755985E-4j', '-0.017014515914781394-0.2820013864855318j'], dtype=object) In [25]: _.astype(dtype=complex) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-25-f5d89c8cc46c> in <module>() ----> 1 _.astype(dtype=complex) TypeError: a float is required 

Чтобы преобразовать его, я использую два вызова метода astype, который кажется неуклюжим:

 bane_obj Out[27]: array(['1.000027337501943-7.331085223659654E-6j', '1.0023086995640738-1.8228368353755985E-4j', '-0.017014515914781394-0.2820013864855318j'], dtype=object) In [28]: bane_obj.astype(dtype=str).astype(dtype=complex) Out[28]: array([ 1.00002734 -7.33108522e-06j, 1.00230870 -1.82283684e-04j, -0.01701452 -2.82001386e-01j]) 

One Solution collect form web for “Преобразование массив numty объектов dtype в dtype-комплекс”

Я думаю, вы, возможно, захотите сделать следующее, в зависимости от того, что находится внутри типа объекта, и если нет каких-либо дополнений, о которых нужно беспокоиться:

 bane.view(np.complex64) or bane.view(np.complex128) 

Однако, если это не сработает, чего не было для какого-то небольшого кортежа, который я попробовал, работало:

 bane.astype(np.float).view(np.complex64) 

Рассмотрите возможность использования структур numpy, а не объектов для базового dtype, у вас может быть меньше времени на все.

  • Чтение файла данных Matlab в Python, необходимость экспорта в CSV
  • Каковы различия между Pandas и NumPy + SciPy в Python?
  • Проверьте, находится ли каждый элемент в массиве numpy в другом массиве
  • scipy: savefig без фреймов, осей, только контент
  • Преобразование 1D-массива в матрицу numpy
  • numpy: Недопустимое значение, найденное в true_divide
  • Как вы получаете среднее значение и std столбца в csr_matrix?
  • Матричная инверсия без Numpy
  •  
    Interesting Posts for Van-Lav

    простой шифровать / дешифровать lib в python с закрытым ключом

    Нет Ошибка / ошибка Python?

    Поиск размера рабочей области (размер экрана меньше панели задач) с помощью GTK

    Как импортировать пакет / модули из сценария в папку bin в python

    Kivy: Поднимите виджет на передний план

    Как извлечь значения кортежа в кадре данных pandas для использования matplotlib?

    Клиент SOAP для Python 3

    Проблемы со скрытой марковской моделью в PyMC3

    правильный способ найти каталог скриптов из setup.py в Python distutils?

    Есть ли хорошая среда разработки для создания графических приложений с Python

    Показать экранированную строку как Unicode в Python

    Почему я могу обновить срез списка, но не фрагмент строки в python?

    Обертка класса вокруг файла – правильный способ закрыть дескриптор файла, когда больше не ссылаются

    Сравните файл .txt и .csv и нужно заменить соответствующим именем в файле .csv на .txt

    Как лучше всего скомпилировать проект C ++ / Cython в исполняемый файл?

    Python - лучший язык программирования в мире.