У меня есть список, который должен включать как реальные значения, так и сложные значения. Однако, когда я не инициализировать массив, используя numpy.zeros (DTYPE = комплексные), я получаю следующее сообщение об ошибке:Как игнорировать предупреждения Python для комплексных чисел
n[2] = 3.7095 + 0.007j
TypeError: can't convert complex to float
Однако, когда я установить DTYPE к сложному, я получаю следующее предупреждение, когда я использую реальное число (которое не нарушает мой код, но это вызывает массу ненужных красных предупреждающих сообщений, которые загромождать мою консоль:
ComplexWarning: Casting complex values to real discards the imaginary part
Как я могу отключить предупреждающее сообщение, или установить его так что значения могут быть мнимыми или сложными?
Использование реальных чисел с массивом сложного dtype не должно давать вам ComplexWarning. Если вы получаете такое предупреждение, у вас есть еще одна ошибка, которую вы не показываете нам. – user2357112
Это предупреждение - делать что-то вроде: 'numpy.array ([2 + 3j]). Astype (numpy.int)'. Я думаю, что у вас два случая замешаны. Почему бы просто не использовать сложные числа для всего, '2 + 0j' точно так же, как« реальный », как« 2 ». Если вам нужна только реальная часть для чего-то, просто сделайте 'numpy.array ([2 + 3j]). Real'. – Benjamin