Esta é uma pergunta fácil, mas digo que tenho uma matriz MxN. Tudo o que eu quero fazer é extrair colunas específicas e armazená-las em outra matriz numpy, mas eu recebo erros de sintaxe inválidos. Aqui está o código:
extractedData = data[[:,1],[:,9]].
Parece que a linha acima deve ser suficiente, mas acho que não. Olhei em volta, mas não consegui encontrar nada de sintaxe em relação a esse cenário específico.
Supondo que você deseja obter as colunas 1 e 9 com esse trecho de código, deve ser:
fonte
se você deseja extrair apenas algumas colunas:
se você deseja excluir colunas específicas:
fonte
Uma coisa que eu gostaria de destacar é que, se o número de colunas que você deseja extrair for 1, a matriz resultante não seria uma matriz Mx1 conforme o esperado, mas uma matriz contendo os elementos da coluna que você extraiu.
Para convertê-lo em Matrix, o método de remodelação (M, 1) deve ser usado na matriz resultante.
fonte
data[:, 8:9]
. Isso ocupa a coluna oito, mas não remove a dimensão extra.Somente:
As colunas não precisam estar em ordem:
fonte
Mais uma coisa que você deve prestar atenção ao selecionar colunas da matriz ND usando uma lista como esta:
Se você estiver removendo uma dimensão (selecionando apenas uma linha, por exemplo), a matriz resultante será (por algum motivo) permutada . Assim:
fonte
Você pode usar :
extracted_data = data.ix[:,['Column1','Column2']]
fonte
Eu acho que a solução aqui não está mais trabalhando com uma atualização da versão python, uma maneira de fazê-lo com uma nova função python, pois é:
o que lhe dá o resultado desejado.
A documentação que você pode encontrar aqui: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_numpy.html#pandas.DataFrame.to_numpy
fonte
você também pode usar extractData = data ([:, 1], [:, 9])
fonte