Numpy: _read32 TypeError: somente arrays escalares inteiros podem ser convertidos em um índice escalar

Criado em 12 ago. 2017  ·  4Comentários  ·  Fonte: numpy/numpy

Isto parece ser um inseto.

Para mim, a concatenação de matrizes não está funcionando conforme o esperado. Fazendo uma pequena pesquisa, encontrei estes:

https://github.com/llSourcell/tensorflow_demo/issues/4

https://stackoverflow.com/questions/42128830/typeerror-only-integer-scalar-arrays-can-be-converted-to-a-scalar-index

https://github.com/Paradigm4/SciDB-Py/issues/96

Comentários muito úteis

A assinatura do concatenado é

def concatenate(arrays, axis=0):

ou seja, leva um único argumento posicional que é um iterável de arrays a serem concatenados. Então você quer np.concatenate((x, zrs)) . Agora você está terminando dizendo np.concatenate(x, axis=zrs) , e então o numpy está ficando confuso quando tenta converter o array zrs em um índice de eixo.

Todos 4 comentários

Esses links mostram projetos se adaptando a uma mudança intencional de comportamento que aconteceu no numpy 1.12, após um período de descontinuação. Até onde eu sei, porém, nenhum deles tem nada a ver com a concatenação de matrizes.

Você pode dar um exemplo do que está fazendo, do que está recebendo e do que estava esperando?

Certo. Este é o roteiro completo:

import numpy as np
import scipy.io.wavfile as wf
(fs, x) = wf.read('wave.wav')
zrs = np.zeros(int(x.size / 2))
x = np.concatenate(x, zrs)

Muito obrigado pela ajuda!

A assinatura do concatenado é

def concatenate(arrays, axis=0):

ou seja, leva um único argumento posicional que é um iterável de arrays a serem concatenados. Então você quer np.concatenate((x, zrs)) . Agora você está terminando dizendo np.concatenate(x, axis=zrs) , e então o numpy está ficando confuso quando tenta converter o array zrs em um índice de eixo.

Olá Natanael,

Obrigado por isso. Desculpe perder seu tempo com um erro bobo de sintaxe. Você é muito gentil em ter respondido. :)

Esta página foi útil?
0 / 5 - 0 avaliações