Dominando o NumPy: um guia abrangente para operações de arrays, manipulação de dados e técnicas avançadas | Olha Al | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Dominando o NumPy: um guia abrangente para operações de arrays, manipulação de dados e técnicas avançadas

teacher avatar Olha Al

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução

      2:35

    • 2.

      Instalação do Python

      6:04

    • 3.

      Instalação de IDE

      3:44

    • 4.

      NumPy para iniciantes: o que é e por que é essencial

      3:44

    • 5.

      O que é um matriz? Diferentes maneiras de criar matrizes no NumPy

      8:12

    • 6.

      Fatiamento de matriz NumPy

      4:20

    • 7.

      Como entender as propriedades de matriz e técnicas avançadas de indexação

      9:41

    • 8.

      Técnicas essenciais para criação e transformação de matriz NumPy

      4:34

    • 9.

      Técnicas de manipulação de matriz NumPy Visualização, Cópia, Remodelação e Nivelamento

      5:45

    • 10.

      Funções matemáticas no NumPy

      6:46

    • 11.

      Randomização e combinação de matrizes no NumPy

      7:54

    • 12.

      Operações avançadas de matriz e técnicas de divisão

      9:03

    • 13.

      Carregando, salvando e pesquisando no NumPy

      5:17

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

14

Estudantes

--

Projeto

Sobre este curso

Aprenda a aproveitar o poder do NumPy, a biblioteca essencial de Python para computação numérica.

Este curso abrangente abrange tudo, desde criar e manipular matrizes até técnicas avançadas como indexação, fatieamento, randomização, carregamento de dados e salvar. Perfeito para iniciantes e usuários intermediários de Python, este curso lhe equipa com as habilidades necessárias para lidar com dados de forma eficiente e realizar cálculos complexos.

Ao final, você terá uma base sólida no NumPy, pronto para enfrentar projetos reais de ciência de dados e aprendizado de máquina.

Conheça seu professor

Teacher Profile Image

Olha Al

Professor
Level: All Levels

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Oi, pessoal. Bem-vindo ao Discourse on Mastering Nampi, uma das bibliotecas mais essenciais em Python Se você estiver interessado em ciência de dados ou aprendizado de máquina , o Nampi é seu ponto de partida É a base para tantas bibliotecas Python poderosas, como Bandas, modo Leap e psyched learn, que são amplamente usadas no NumPi é a espinha dorsal da manipulação de dados e da computação É incrivelmente rápido e eficiente para lidar com matrizes, realizar operações matemáticas e manipular dados em Se você está calculando estatísticas, criando modelos de aprendizado de máquina ou criando simulações, Numpi também será sua escolha Então, quem precisa do Numpi? Se você está buscando funções como cientista de dados, engenheiro de aprendizado de máquina ou analista de dados, essas bibliotecas devem ter seu Compreender o Nampi lhe dará as habilidades para lidar com conjuntos de dados, processar grandes quantidades de dados e construir uma base sólida para ferramentas mais avançadas Este curso foi desenvolvido para iniciantes, então não se preocupe se você está apenas começando. Tudo o que você precisa é uma compreensão básica do Python e garantir que o notebook ou ID Jupiter, como Pycharm ou como Pycharm ou Vou guiá-lo passo a passo em tudo. Neste curso, você aprenderá como criar e manipular raios, realizar operações matemáticas e estatísticas básicas e dominar as principais técnicas para trabalhar com dados de forma eficiente Ao final deste curso, você terá uma sólida compreensão do Napi e a confiança para usá-lo em projetos do mundo real Ainda mais importante, essas habilidades servirão como uma porta de entrada para dominar a análise de dados e outras bibliotecas avançadas de Python Ao longo deste curso, eu recomendo fortemente que você adote uma abordagem ativa para o aprendizado. À medida que avançamos em cada aula, fique à vontade para postar o vídeo e praticar o código você mesmo em seu caderno de Júpiter ou Pi harm or viscod Tente reescrever o código que você vê na tela e fazer experiências com ele Teste como cada função funciona. Altere alguns valores e veja como os resultados são diferentes. Essa prática é fundamental para realmente entender como o Numpy funciona e se sentir confortável com ele Lembre-se de que a melhor maneira de aprender programação é fazendo. Então, não assista o tempo todo comigo. Isso não apenas ajudará você a criar confiança, mas também garantirá que você realmente compreenda o conceito que abordamos Então, vamos mergulhar e começar a desenvolver essas habilidades. 2. Instalação do Python: E primeiro, vamos verificar se Python já está instalado no seu sistema Se você tiver o Windows, poderá fazer isso pressionando Wind plus R, digitando CMD e pressionando Enter Na janela do prompt de comando, digite o seguinte comando e pressione Enter. E aqui estamos, podemos ver nosso Python. No macOS e no Linux, também abrimos a janela do terminal digitamos o seguinte comando e pressionamos Enter Não preste atenção em todas essas versões do Python. Falaremos sobre isso mais tarde. Como podemos ver, eu não tenho a versão Python do comando, mas tenho a versão três do Command Python Os comandos Python version e Python three version são usados para verificar a versão do interpretador Python instalado Python Versão do Python, o comando tradicionalmente usado para verificar a versão do Python dois, enquanto Python três é usada especificamente para verificar a versão do interpretador do tradicionalmente usado para verificar a versão do Python dois, enquanto a versão do Python três é usada especificamente para verificar a versão do interpretador do Python três. Normalmente, o Python 2 era usado em sistemas mais antigos. Se preferir, você pode ajustar configuração do sistema para fazer com que o Python aponte para o Python três Mas eu prefiro continuar com o comando Python three porque ele é comumente Se você não tiver nenhum Python em seu sistema operacional, acessaremos o site python.org e seguiremos as site python.org Aqui você escolhe seu sistema operacional e escolhe a versão do Python que você precisa Eu trabalho no macOS e no Linux, mas instalar o Python no Windows não é muito mais difícil Você baixa a versão do Python, abre o arquivo de download e segue as instruções de instalação Aqui podemos baixar o Python para Linux. Se formos ao Python, guia do usuário de empacotamento do Python , e aqui eu escolho os tutoriais e, em seguida, escolho tutoriais Podemos ver muitas informações sobre como verificar a versão do Python e também como instalar Python em E aqui você pode notar que podemos instalar o Python de maneiras diferentes Por exemplo, aqui podemos ver os comandos que podemos usar para instalar o Python em um Bunto ou, se usarmos o macOS, podemos usar o podemos Homebrew é um gerenciador de pacotes. Você pode ler mais em seu site. Com esse gerenciador de pacotes, podemos instalar o Python usando esse comando Mas qual a diferença? Bem, em breve, a pasta, Homebrew e o instalador oficial usarão as diferentes pastas para instalação Também atualizando. O Homebrew atualiza facilmente o Python para a versão mais recente com um único comando Brew upgrade Homebrew também gerencia dependências e limpa automaticamente as versões antigas. Enquanto instalador oficial para atualizar, você precisa baixar manualmente a nova versão do site e passar pelo processo de instalação novamente. A instalação por meio do instalador oficial é mais independente, o que pode ser útil em determinados cenários, mas pode tornar o gerenciamento de dependências e ferramentas adicionais mais complicado E geralmente adiciona ícones de aplicativos na pasta de aplicativos. Se eu quiser ver todas as versões do Python, instalei com o comando Brew install Python, posso usar o Command Brew List Python imediatamente todas as pastas e todas as versões do Python que tenho pastas e todas Além disso, quero observar que a instalação do uni com Home Brew é simples com um único comando Brew Uni Install Python, que remove completamente versão instalada do Embora a desinstalação oficial do instalador seja mais complexa e exija a remoção manual de arquivos de vários diretórios Quanto a mim, o Homebrew é mais conveniente para desenvolvedores e para aqueles que trabalham frequentemente com Python e outras ferramentas por meio instalador oficial pode ser adequado para usuários que preferem interferência mínima no sistema e precisam instalar o Python uma vez para necessidades específicas, e não planejam atualizar ou gerenciar várias versões com frequência atualizar ou gerenciar várias versões A mesma coisa se usarmos Linux, Ubuntu, qualquer coisa, podemos usar o Sudo Ogat para instalar o Python ou podemos instalar o Python ou podemos instalar o Python No primeiro caso, esse é o método mais simples de instalar o Python, mas você só pode instalar versões do Python que estejam disponíveis nos Instalando a partir do código-fonte, você pode usar qualquer versão do Python, incluindo as versões mais recentes Agora que entendemos como instalar o Python e a diferença entre os métodos de instalação, vamos continuar aprendendo o Python em Eu abro o terminal e digito o comando Python. Um dos recursos exclusivos do Python é o modo interativo, que permite executar código e ver imediatamente os resultados Isso é possível graças ao interpretador Python, um programa que lê e executa Quando você instala o Python em seu computador, ele inclui um interpretador interativo conhecido como apple redeValvePreent Ele permite que você insira o código uma linha por vez e veja o resultado instantaneamente. Ao usar o modo interativo, você pode experimentar rapidamente diferentes trechos de código e ver o resultado Para sair do modo interativo, use o comando exit. Bem, vimos o modo interativo no terminal, mas também temos várias ferramentas que nos ajudam a escrever código com mais eficiência. Vamos dar uma olhada neles. 3. Instalação de IDE: Hoje, veremos as ferramentas que tornam a codificação mais fácil e eficiente Três dos editores de código mais usados são PyCharm, Visual Studio code e Jupiter Qual deles você escolherá, depende de você. O primeiro, Pycharm. Existem várias opções comunitárias e profissionais. Essa ideia foi projetada especificamente para Python, mas você também pode usar outras É como uma caixa de ferramentas para desenvolvedores de Python. Você pode baixar o BiHARM Community. É totalmente gratuito e, para ser sincero, é o suficiente pela primeira vez. O processo de instalação não leva muito tempo. Fazemos o download do arquivo e seguimos as instruções. Existem muitos recursos, como ferramentas de depuração, gerenciamento de projetos e sugestões gerenciamento de projetos Muito útil. É melhor para projetos maiores, nos quais você precisa manter tudo organizado e eficiente. Então, temos o código do Visual Studio. É um editor de código leve que suporta muitas linguagens de programação, incluindo Python Depois de baixar o arquivo, abra-o clicando duas vezes nele. Isso extrairá o aplicativo de código do Visual Studio. Arraste o aplicativo Visual Studio code para a pasta do aplicativo e aqui estamos, isso instala o VS code no seu Mac Aqui você pode criar a pasta Arquivo Abrir ou visualizar arquivos abertos recentemente, ou visualizar arquivos abertos recentemente aqui podemos ver várias guias. Nenhuma pasta aberta. A guia aparece quando você não abre uma pasta para o espaço de trabalho Ele solicita que você abra uma pasta para começar a trabalhar em um projeto Depois de abrir uma pasta, essa guia desaparece e os arquivos na pasta são exibidos guia Abrir editor mostra uma lista de todos os arquivos que você abriu atualmente no editor. Aqui podemos criar um novo arquivo do zero. A guia de tópicos fornece uma visão estruturada, como funções, variáveis e classes no arquivo aberto no momento Ele ajuda você a navegar rapidamente pelo código pulando para diferentes partes do arquivo Se quiser, você também pode ocultar essas guias. É perfeito se você estiver trabalhando em diferentes tipos de projeto e quiser um editor flexível e completo. É muito fácil de instalar e muito fácil de usar. Então temos o caderno Jubi. É uma ferramenta baseada na web. Você pode usá-lo para pesquisa e ciência de dados. Ele permite que você escreva e execute código em pequenos pedaços, e você pode ver imediatamente os resultados Parece um modo interativo, exceto que essa ferramenta é ótima para criar documentos interativos que combinam código, texto e visualização Notebook Jupiter, você pode instalar maneiras diferentes. Instalando o Jupiter usando o Anaconda e Conda ou você tem uma alternativa, você pode instalar o Jupiter com gerenciador de pacotes PIP se optar por usar o Anaconda, para que ele instale o Python e o Jupiter Notebook e outros endereços de tag comumente usados para computação e o Conda ou você tem uma alternativa, você pode instalar o Jupiter com o gerenciador de pacotes PIP se optar por usar o Anaconda, para que ele instale o Python e o Jupiter Notebook e outros endereços de tag comumente usados para computação e ciência de dados específicas. o Conda ou você tem uma alternativa, você pode instalar o Jupiter com o gerenciador de pacotes PIP se optar por usar o Anaconda, para que ele instale o Python e o Jupiter Notebook e outros endereços de tag comumente usados para computação e ciência de dados específicas. Então você tem tudo em um. Mas, para começar, você pode gerenciar com o notebook Jupiter instalando-o usando o PIP Você pode usar o que quiser. Depende de você neste curso, vou usar o código do Visual Studio. Bem, depois de toda essa preparação, vamos começar a escrever o código. Nos vemos na próxima aula. 4. NumPy para iniciantes: o que é e por que é essencial: Olá, pessoal. Hoje discutiremos uma biblioteca fundamental para especialistas que trabalham com dados. Nampi é uma biblioteca popular para computação científica em Python Ele serve como base para muitas bibliotecas importantes em Python usadas para processamento e análise de dados Essas bibliotecas incluem o Pandas, que é usado para trabalhar com dados tabulares e resolver tarefas de análise de dados, bem como o MD Blot Leap e o Seaborn, que são usados para visualização e que são usados Talvez você já esteja familiarizado com essas bibliotecas. Caso contrário, recomendo que você se familiarize com eles. Tutoriais que você pode encontrar no meu perfil. Sci Pi, outra biblioteca importante fornece funções para computação científica, como otimização, aproximação, integração Psyched Learn e muitas outras bibliotecas no ecossistema Python dependem muito do Nampi como NumPi serve como um alicerce para muitas bibliotecas de computação científica e análise de dados em Python , fornecendo operações numéricas eficientes , estruturas de dados otimizadas para memória e integração perfeita com outras Essa biblioteca oferece transmissão e visualizações eficientes, permitindo operações em matriz sem criar novas cópias Isso reduz o uso de memória e melhora o desempenho. Numbi fornece uma estrutura de dados poderosa, matrizes que permitem a representação de grandes matrizes e vetores junto com um conjunto de funções para trabalhar eficientemente com um conjunto de funções para A principal vantagem do NumPi está na velocidade de cálculo em comparação com as listas do Python Isso é obtido porque todos os elementos da matriz Numpi têm o mesmo tipo de dados e devido ao uso de armazenamento de memória compacto e operações matemáticas otimizadas Então, vamos passar às principais características e benefícios do umpi incluem uma vasta coleção de funções matemáticas que operam eficientemente em raios A capacidade de manipular grandes conjuntos de dados sem sobrecarga excessiva de memória, criar suporte para leitura e gravação dados de matriz de e para vários formatos de arquivo, suporte para realizar transformações rápidas de falsificação, que são cruciais para processamento de sinais, processamento imagens e outras aplicações científicas, além de recursos poderosos de indexação e fatiamento, poderosos de indexação e fatiamento grandes conjuntos de dados sem sobrecarga excessiva de memória, criar suporte para leitura e gravação de dados de matriz de e para vários formatos de arquivo, suporte para realizar transformações rápidas de falsificação, que são cruciais para processamento de sinais, processamento de imagens e outras aplicações científicas, além de recursos poderosos de indexação e fatiamento, permitindo eficiência seleção e manipulação de subconjuntos de matrizes. NumPi pode ser usado para resolver uma ampla gama de tarefas, como operações matemáticas, processamento de sinais e imagens, simulação científica, geração de números aleatórios Sim, o Numpi fornece funções para gerar números aleatórios com várias distribuições Análise e manipulação de dados. Os raios NumPi podem ser usados para tarefas como classificação, filtragem e remodelagem de dados, que geralmente são pré-requisitos para tarefas de análise de dados pré-requisitos tarefas como classificação, filtragem e remodelagem de dados, que geralmente são pré-requisitos para tarefas de análise de dados e aprendizado de máquina. Aprendizado de máquina e aprendizado profundo. Numpi fornece a estrutura de dados subjacente e as operações necessárias para essas tarefas Nampi se integra perfeitamente a muitas outras bibliotecas de computação científica em Python, como Pandas, Md Llod Leap e Sigi Learn, facilitando um rico ecossistema para análise de dados, visualização e facilitando um rico O Nampi se integra perfeitamente a muitas outras bibliotecas de computação científica em Python, como Pandas, Md Llod Leap e Sigi Learn, facilitando um rico ecossistema para análise de dados, visualização e aprendizado de máquina. Esta lista destaca a versatilidade do Nampi e sua capacidade de abordar uma ampla gama de tarefas em computação científica, análise de dados, aprendizado de máquina e muito mais, tornando-o uma biblioteca fundamental no Então, vamos prosseguir com a instalação. 5. O que é um matriz? Diferentes maneiras de criar matrizes no NumPy: Primeiro, certifique-se de que o NAPA já esteja instalado em seu ambiente Python O que é um ambiente Python? Ele permite que você alterne entre várias versões do Python em diferentes ambientes de trabalho sem erros ou conflitos É uma ferramenta muito útil e eu recomendo fortemente usá-la. Você pode aprender como funciona no meu vídeo bônus. Se você não sabe o que é um ambiente virtual ou como trabalhar com ele, não se preocupe. Você não precisa disso agora. Você pode simplesmente abrir o terminal e trabalhar sem ativar um ambiente virtual executando comandos diretamente no terminal Como algumas outras bibliotecas podem instalar automaticamente o Numpi, você pode verificar se ele já está presente executando o seguinte comando no prompt de comando ou no terminal Mostre um sinal sonoro para Numpi. Se você receber uma resposta com o caminho especificado para a biblioteca , o numpi já estará instalado Caso contrário, para instalar o Numpi , usamos o seguinte comando. Instale o Numpi por um sinal sonoro. Esse comando baixará e instalará automaticamente o Numpi do repositório Python Após a instalação bem-sucedida, você pode usar o Numpi para cálculos numéricos e trabalhar com É recomendável atualizar periodicamente suas bibliotecas, incluindo o Mupi, para obter novos recursos e corrigir possíveis recaídas Para fazer isso, use o seguinte comando, peep Install, atualize o Numpi Vou executá-lo também, é hora de eu atualizar também. Essa abordagem permitirá que você sempre tenha as versões mais recentes do Numpi para seus projetos Agora vamos praticar e começar a nos familiarizar com o elemento principal dessa biblioteca, a matriz de dados Uma matriz Numpi é a estrutura de dados principal que distingue numpi das listas regulares do Python Resumindo, é uma tabela de elementos do mesmo tipo, que pode ser números inteiros, flutuantes, valores lógicos, cadeias As matrizes Numpi são multidimensionais. Eles normalmente assumem a forma de um vetor ou matriz, mas podem ter um número arbitrário de dimensões O número de dimensões e a forma de uma matriz são definidos na criação, mas podem ser modificados posteriormente. Os elementos de uma matriz são representados numericamente e armazenados de forma compacta e otimizada na memória, garantindo alta velocidade computacional No eixo numpi, ajude-nos a entender a direção na qual os dados são organizados dentro de uma matriz Você pode pensar em um eixo como uma direção específica ao longo da qual os valores são organizados. Cada matriz numérica tem uma ou mais dimensões ou eixos, dependendo de quantos níveis de organização ela tem Aqui está uma maneira simples de pensar sobre isso. Uma matriz unidimensional, um vetor tem apenas um eixo. Esse eixo representa a sequência de números na matriz. Imagine uma lista simples de números indo da esquerda para a direita. Matriz bidimensional, uma matriz tem dois eixos. Um eixo corre verticalmente de cima para baixo e representa o número de linhas O outro eixo corre horizontalmente, esquerda para a direita, e representa o número de colunas Por exemplo, pense em uma tabela em uma planilha. As linhas e colunas formam os dois eixos dos dados. Ao trabalhar com dados mais complexos, você pode ter três ou mais dimensões em que eixos adicionais representam diferentes níveis de organização As matrizes Numpy são usadas em computação específica, análise de dados e aprendizado de máquina porque armazenam e processam grandes quantidades de dados numéricos Compreender o eixo é importante porque muitas funções numpi aplicam operações ao longo de eixos específicos, facilitando a manipulação de dados Devido a essas propriedades, NumpiRays são amplamente usados em computação específica, análise de dados e aprendizado de máquina, pois fornecem uma representação compacta e eficiente de dados numéricos Agora vamos importar o Numpi, é claro, vamos definir um alias Isso o torna mais conveniente. Em vez de escrever o nome completo NPi, toda vez podemos simplesmente usar as duas letras NP Usar NP como alias economiza tempo e torna o código mais Agora vamos prosseguir com a criação da matriz Umpire. Vamos considerar as formas básicas de gerar matrizes para trabalhos futuros Começaremos criando matrizes a partir de uma lista do Python. O que são listas de Python? As listas Python são um dos tipos de dados de construção que permitem armazenar sequências ou listas de Por exemplo, vamos criar uma lista A, contendo somente números. No entanto, você deve entender que a lista pode conter elementos de diferentes tipos, números, sequências de caracteres e outras listas, podem ser objetos Para demonstrar isso, também criei uma lista B que contém tipos de dados mistos. Principais recursos das listas em Python. As listas são ordenadas. Cada elemento tem uma posição de índice específica na lista. Esse tipo de dados também é dinâmico. Seu comprimento e número de elementos podem mudar durante a execução do programa. Os elementos são acessados por índice. A indexação começa do zero. Por exemplo, para acessar o primeiro elemento da Lista A, usamos A zero na notação de quebra Isso recupera o primeiro elemento, que está no índice zero As listas também podem ser iteradas usando loops, mas discutiremos isso com mais detalhes em um vídeo futuro sobre Python A diferença entre listas Python e Nampirays é que as listas são convenientes para armazenar dados No entanto, as matrizes Numpy são projetadas para armazenar apenas um único tipo de dados, que permite Nas listas do Python, armazenar vários tipos de dados leva a um maior consumo de memória Isso não é um grande problema para listas pequenas, mas ao lidar com grandes conjuntos de dados, uso de listas regulares pode ser ineficiente É aqui que os raios de soneca são úteis. Então, vamos selecionar uma matriz de árbitros de uma lista de Python. Uma matriz de árbitros pode ser facilmente inicializada a partir de uma lista normal do Python Para fazer isso, usamos a função array e passamos R list A como argumento, mas isso não é tudo. Como os números são armazenados no mpiarray? Para verificar o tipo de dados dos elementos da matriz, podemos usar o tipo D. Se observarmos em 64, isso significa que a matriz está usando números inteiros de 64 bits, o que permite armazenar valores muito pequenos a muito grandes No tipo Num Pi e no tipo D, consulte conceitos diferentes. Tipo mostra o tipo do objeto em si. Por exemplo, classe, tipo NumPi ou A. D, abreviação de tipo de dados mostra o tipo de dados dos elementos dentro da matriz, e devemos lembrar essa diferença O que acontece se criarmos uma matriz da Lista B, que contém diferentes tipos de dados. Vamos ver. Embora B contenha tipos de dados diferentes, Num Pi converte todos os elementos um único tipo de dados para maior eficiência Por exemplo, se B contém números e cadeias de caracteres, Num Pi converte tudo em cadeias de Podemos ver que o tipo D é igual a U 21, que significa que a matriz contém cadeias de caracteres Unicode com um comprimento máximo U significa string Unicode. 21 indica o tamanho máximo de 21 caracteres de cada elemento. Se uma string exceder esse comprimento, ela será truncada Isso permite que o NumPi armazene e processe dados de matriz com eficiência Agora que entendemos como matrizes Numpi lidam com os tipos de dados, vamos passar para operações de matriz mais avançadas 6. Fatiamento de matriz NumPy: Como o tipo de dados na matriz NMP é fixo, não é permitido misturar tipos diferentes Quando uma lista com tipos de dados mistos é convertida em um Numpiarray, todos os elementos são automaticamente convertidos em um tipo comum Nampi fornece várias funções convenientes para gerar raios sem especificar manualmente cada elemento A função de organização cria uma matriz com um intervalo especificado de valores. Por exemplo, se quisermos uma matriz começando de cinco a dez, excluindo dez, escrevemos a função range e mais cinco no primeiro argumento e dez no segundo Como dez não está incluído, o último valor na matriz é nove. Numpy tem uma variedade de funções convenientes para gerar matrizes de acordo com as regras especificadas, sem a necessidade de especificar manualmente cada elemento Para isso, existe a função range. Graças a isso, podemos criar uma matriz unidimensional, começando de cinco, por exemplo, e indo até dez, mas sem incluir dez. Há também a função zeros, que cria uma matriz unidimensional de zeros Vamos criar uma matriz de tamanho quatro. E obteremos quatro zeros. Ou há uma função semelhante aos zeros, mas, em vez disso, obteremos uma matriz unidimensional de uma vez Há momentos em que você precisa especificar o tipo de dados da matriz desde o início. Para isso, usamos a função de matriz com o adicional do parâmetro do tipo D. Por exemplo, vamos criar uma matriz unidimensional do tipo floyd, vamos imprimir o que obtivemos Esses pontos indicam que não temos apenas números, mas números de ponto flutuante Se executarmos o tipo D, confirmaremos que atualmente todos os nossos elementos são do tipo float Agora vou remover linhas desnecessárias e excluir a função de impressão. indexação na matriz Nampa funciona de forma semelhante às listas do Python, permitindo o acesso a elementos específicos com base em sua posição na Da mesma forma, podemos tirar fatias da matriz. Por exemplo, vamos pegar elementos da matriz desde o início, até, mas sem incluir, o índice dois. Lembre-se de que a indexação em Python começa do zero. Portanto, o primeiro elemento da matriz tem um índice zero. Quando escrevemos o nome da matriz seguido por uma coluna e depois especificamos um índice, isso significa pegar elementos desde o início da matriz até, mas não incluindo o índice especificado. Pegamos o intervalo do primeiro elemento, índice zero, até o índice um, inclusive. Isso ocorre porque, em Python, os limites de alcance são sempre especificados como inclusivos É assim que o fatiamento funciona tanto nas listas do Python quanto nas listas do Python Escrever uma matriz como essa retornará elementos do índice zero para o índice um. Então, obteremos dois elementos, valor um e valor dois. Vamos alterar a fatia e levar elementos do segundo índice até o final da matriz Aqui, dois é o índice a partir do qual a fatia começa, inclusive, seguido por uma coluna, que serve como um delímetro indicando os limites da fatia Depois da coluna, não há nada, o que significa que levamos os elementos até o final da matriz. Como resultado, obtivemos os elementos três e quatro. Se especificarmos um índice que não existe, por exemplo, índice quatro, obteremos um erro porque o índice três é o último elemento na matriz. O corte em números nos permite extrair um subconjunto de uma matriz usando um intervalo especificado Isso é particularmente útil para manipulação e análise de dados, pois permite a seleção e modificação eficientes elementos da matriz sem criar cópias desnecessárias 7. Como entender as propriedades de matriz e técnicas avançadas de indexação: Agora vamos criar uma matriz bidimensional. Como podemos encontrar informações sobre a forma e as dimensões da matriz Nampa Não contaremos o elemento manualmente, é claro. Aqui está uma função chamada shape, que retorna alguns números correspondentes ao tamanho da matriz em cada dimensão. Por exemplo, para a matriz de três por três que acabamos de criar, obtivemos o seguinte resultado. Ao longo do primeiro eixo, nossas linhas, temos o número três, e ao longo do segundo eixo, nossas colunas, também temos o número três. Agora vou modificar a matriz e adicionar mais dimensões. Preste atenção na saída da função de forma. Adicionamos mais elementos e agora temos uma matriz tridimensional de tamanho, dois por três por três. Lembre-se de que a diferença entre uma matriz e uma matriz é uma especialização de uma matriz Tem estritamente duas dimensões. A matriz, no entanto, pode ser multidimensional. Então, vamos continuar, e a próxima função é DM. Essa função retorna um número correspondente aos números de xs ou dimensões da matriz. Aqui temos DM igual a três. Também usando a função de tamanho, podemos determinar o número total de elementos na matriz. No nosso caso, temos 18 elementos, o que é correto, pois multiplicar dois por três por três dá Se você precisar inicializar rapidamente uma matriz de ampi da forma desejada e preenchê-la com um valor específico, poderá usar a função completa Essa função nos permite criar uma matriz especificando a forma como uma tupla de números inteiros, que determina o número de elementos ao longo de O segundo parâmetro é o valor que preenche a matriz. Há também o terceiro parâmetro opcional tipo D, que especifica o tipo de dados dos elementos da matriz Para entender melhor e escurecer, vamos detalhar nossa matriz. Podemos ver que ele consiste em duas matrizes, cada uma com uma dimensão de três por três Portanto, temos uma matriz tridimensional de tamanho dois por três por três. Ao cortar 0-1, extraímos uma parte da matriz tridimensional Essa expressão seleciona uma submatriz, começando do índice zero inclusive e terminando no índice um exclusivo Como resultado, obtemos apenas uma camada de plano de nossa matriz tridimensional, que é uma matriz que consiste em três linhas e três colunas. Agora vamos passar do corte para o aninhamento e especificar Fazemos isso para selecionar a segunda linha da matriz que acabamos de extrair usando o índice zero O índice um seleciona a segunda linha. Como a indexação em Python começa do zero , essa operação retorna a segunda linha da primeira matriz em nossa matriz tridimensional Este exemplo ilustra como a indexação e a extração de submatrizes funcionam em matrizes tridimensionais n pi Também quero mostrar outra maneira de obter o mesmo resultado. Vamos mudar um pouco a notação e obter o mesmo resultado no Napi Essas duas notações são equivalentes, mas a diferença está na implementação interna e na velocidade de execução A segunda variante geralmente é mais rápida porque o Numpi manipula eficientemente o eixo da matriz Na primeira variante, realizamos dois excessos consecutivos Primeiro, extrair uma submatriz usando zero e, em seguida, extrair um elemento dessa submatriz Essa abordagem pode introduzir uma sobrecarga adicional. A principal diferença é a indexação. O segundo caso usa uma única operação de indexação, enquanto o primeiro caso requer duas operações consecutivas Na maioria dos casos, é recomendável usar a segunda variante, como fizemos , porque ela é mais eficiente em termos de velocidade e mais fácil de usar. Agora vou modificar um pouco nossa matriz, alterando os números da última matriz, da segunda, para que você possa ver claramente a diferença. Se especificarmos um índice de menos um, indicamos que queremos recuperar a última camada da matriz Essa expressão seleciona a última camada da nossa matriz tridimensional, independentemente de quantas camadas a matriz multidimensional contém No nosso caso, recuperaremos a segunda matriz, pois temos apenas duas Se você tiver uma matriz multidimensional com várias camadas aninhadas, menos uma, sempre selecionamos a última E aqui a matriz menos um retornará o seguinte. No nosso caso, é equivalente a usar o índice um. Mas usar menos um torna o código mais flexível porque não há necessidade especificar o número exato de camadas na matriz. Se adicionarmos outro índice separado por uma vírgula, ele será usado para acessar uma linha específica na última Ou seja, em nossa matriz, selecionaremos a segunda linha, que tem um índice de um na segunda matriz. Agora vamos continuar praticando. Pause o vídeo e tente selecionar elementos diferentes dessa matriz Tente extrair a última linha da primeira matriz. Em seguida, a primeira linha da última matriz. A prática é a chave para a compreensão. A teoria por si só não é suficiente. Vamos nos aprofundar na nidificação. Agora, vamos extrair o terceiro elemento da linha. No nosso caso, é 16 com um índice de dois. Simplesmente adicionando um índice, recuperamos o terceiro elemento, que tem um índice de dois Aqui obtemos o valor de 16. Essa notação é equivalente a outra que eu lembro Pause o vídeo e tente recuperar o primeiro elemento da última linha do último elemento em nossa matriz, que é nossa segunda Espero que você tenha conseguido. Vou deixar menos um como está para selecionar o último elemento da nossa matriz Em seguida, precisamos pegar a última linha nesse elemento, então especifique menos um novamente. Dessa forma, selecionamos a última linha. Em seguida, pegamos o primeiro elemento. Como a indexação começa do zero, especificamos zero e aqui obtemos nosso número 17 Agora vamos adicionar um terceiro elemento à nossa matriz. Se agora estivermos especificando um índice de menos um, recuperaremos somente o elemento que acabou de ser criado Às vezes, precisamos extrair uma fatia de submatriz de nossa matriz multidimensional Então, deixe-me mostrar como isso funciona. Adicionamos uma coluna e uma após a submatriz selecionada anteriormente, o que significa que estamos pegando uma fatia Em nossa notação, vemos menos um, que indica a última camada da matriz, a última matriz em nosso caso A primeira e a coluna. Essa parte significa que, a partir da linha, índice um, inclusive, até o final das linhas. Neste último elemento, selecionamos tudo. Agora, vamos pegar outra fatia de dentro da porção selecionada Eu especifico a fatia do primeiro ao último elemento. Isso essencialmente extrai uma fatia de uma submatriz. Se, em vez de uma fatia, precisarmos recuperar somente os elementos com um índice de um de cada linha da fatia Simplesmente especificamos um e obtemos dois elementos com o índice um. Agora, em vez de selecionar apenas os primeiros elementos, vamos pegar uma fatia da submatriz consiste nos dois primeiros elementos de cada linha Ele deve conter os valores 14, 115, 116 e 118. Publique o vídeo e tente fazer isso sozinho. Especificamos slides do índice zero ao índice dois, exclusivos, o que significa que selecionamos elementos com índice zero e um. Então pegamos o último elemento de nossas matrizes com um índice menos um Em seguida, obtemos a fatia da matriz do índice um até o final E, finalmente, obtivemos a fatia dessa matriz do índice de zero ao índice de dois E aqui está nosso resultado. 8. Técnicas essenciais para criação e transformação de matriz NumPy: Agora vou remover peças desnecessárias. Finalmente, vamos nos familiarizar com a função vazia. Há uma situação em que precisamos criar uma matriz de tamanho especificado e preenchê-la com os valores posteriormente. Por exemplo, eu criei uma matriz tridimensional usando essa função. No entanto, é importante lembrar que as matrizes criadas usando a função vazia podem conter dados aleatórios da memória Quando você cria uma matriz usando a função vazia no Napi, ela não preenche a matriz com zeros ou valores específicos Em vez disso, ele pega todos os dados que estão prontos na memória do computador naquele momento. Isso significa que a matriz pode conter números aleatórios ou inesperados quando é criada pela primeira vez. Por isso, você deve sempre atribuir valores à matriz antes de usá-la. Caso contrário, seus cálculos podem fornecer resultados incorretos ou imprevisíveis Para criar uma matriz unidimensional com valores distribuídos uniformemente dentro de um intervalo especificado, usamos no espaço. O primeiro parâmetro da função define o valor inicial do intervalo. O segundo parâmetro define o valor final do intervalo e o terceiro parâmetro especifica o número de elementos ou pontos que você deseja obter Eu criei uma matriz com quatro números, distribuídos uniformemente de 3 a 40, inclusive Ou vamos criar uma matriz com 40 números do mesmo intervalo. Essa função é útil quando você precisa criar valores distribuídos uniformemente, por exemplo, para gerar um vetor de valores, para plotar gráficos ou realizar outras tarefas analíticas Você especifica quantos pontos você precisa e quais valores de intervalo você deseja cobrir. Muito conveniente. Vamos adicionar alguns números negativos à nossa matriz porque precisarei deles para o próximo exemplo. Agora vamos nos familiarizar com a função absoluta. Essa função na biblioteca num pi é usada para calcular os valores absolutos dos elementos da matriz Ele retorna em uma matriz onde cada valor é convertido em seu valor absoluto. Isso é útil em muitos casos, como trazer valores para uma faixa positiva ou simplesmente obter valores absolutos para análise posterior de dados. Exibimos nossa matriz e agora vemos que há números negativos. No entanto, depois de aplicar a função absoluta, os sinais negativos são removidos. Então, aqui vemos apenas valores positivos. A função diag na biblioteca Napi é usada para criar uma matriz quadrada com valores especificados na diagonal principal No nosso caso, três, quatro e cinco são passados como um argumento de lista para a função. Essa lista contém os valores que você deseja colocar na diagonal principal da matriz. O resultado será uma matriz quadrada em que a diagonal principal contém os valores especificados enquanto todos os outros elementos são zeros Você obterá um resultado semelhante com a função diag flag Mas a diferença é que o sinalizador diag primeiro nivela a lista de entrada em uma matriz unidimensional e depois a coloca na diagonal Então, se tivermos uma matriz como essa, diag flag a exibirá como uma matriz diagonal com todos os outros elementos definidos como zero Neste exemplo, especificamos apenas um argumento, que indica a dimensionalidade da matriz quadrada seis por seis em nosso caso A matriz resultante formará um triângulo ou padrão com os abaixo e à esquerda da diagonal principal, enquanto todos os outros elementos permanecerão zero. Se eu especificar dois argumentos, o primeiro argumento define o número de linhas na matriz, seis no nosso caso, e o segundo argumento define o número de colunas. Segundo, nesse caso, a matriz resultante formará novamente um triângulo com os abaixo e à esquerda da diagonal principal, assim como no primeiro caso, com todos os outros elementos permanecendo zero, podemos experimentar e mudar sua forma. É comumente usado em álgebra linear e operações matriciais, como resolver equações e aplicar máscaras 9. Técnicas de manipulação de matriz NumPy Visualização, Cópia, Remodelação e Nivelamento: Para o próximo exemplo, criarei a matriz unidimensional simples. Vamos nos familiarizar com a função de visualização. É usado para criar uma matriz que se refere à nossa matriz recém-criada, significa que ambas as matrizes fazem referência aos mesmos dados, mas têm formas diferentes Vou explicar como isso funciona. Quaisquer alterações feitas em uma matriz serão refletidas na outra porque são duas matrizes, armazenam referências ao mesmo objeto de dados É importante observar que a função de visualização não cria uma cópia da matriz. Em vez disso, ele gera um novo objeto que se refere aos mesmos dados. Para demonstrar, modificarei o último elemento da primeira matriz e o definirei como um. Como resultado, a alteração aparece nas duas matrizes. Então, por que precisamos dessa função? Você pode encontrar situações em seu projeto em que uma variável obtém uma referência ao mesmo objeto de dados ao qual outra variável se refere. Mesmo sem alterar o elemento de sua primeira matriz, podemos modificar sua forma. Os dados permanecem os mesmos. Estamos apenas alterando sua forma. Podemos fazer com que uma matriz unidimensional apareça como uma bidimensional. Se então verificarmos o segundo raio, que se refere ao mesmo objeto, veremos que sua forma também mudou. Em projetos grandes, isso pode levar a erros inesperados, especialmente se uma função espera uma matriz unidimensional, mas, devido a modificações não intencionais, recebe uma matriz bidimensional ou até tridimensional Nesses casos, usamos a função de visualização para garantir a manipulação controlada da estrutura de dados Simplesmente criar outra variável e referenciar o mesmo objeto de dados não é suficiente. Quando usamos a função de visualização, garantimos que alteramos apenas a aparência da matriz, mantendo a mesma referência ao objeto de dados. Agora, se remodelarmos nossa primeira matriz, isso não afetará em nada a segunda matriz No entanto, se criarmos uma matriz usando o método copy, geraremos um clone completo e dependente da matriz original A segunda matriz será completamente separada da original contendo os mesmos dados, mas existindo como seu próprio objeto na memória. No momento da cópia, ambas as matrizes têm conteúdo idêntico, mas quaisquer modificações adicionais uma não afetarão a Podemos ver isso claramente. Depois de modificar o último elemento da nossa primeira matriz, a segunda matriz permanece inalterada Vou remover peças desnecessárias. E imprima a matriz anterior apenas para lembrar sua aparência. Para alterar a forma como o Nampa interpreta os índices dos elementos na matriz sem alterar os dados em si, podemos usar Se remodelarmos a matriz para 27, obteremos uma matriz unidimensional Os elementos serão organizados na mesma ordem e armazenados na matriz tridimensional original. No entanto, é importante entender que essa é apenas uma representação diferente dos mesmos dados. Os dados em si permanecem inalterados. Podemos fazer experiências com nossa matriz e apresentar seus dados de maneiras diferentes. Não estamos criando uma nova matriz. Estamos simplesmente modificando forma como a matriz atual é representada A principal conclusão é que o número total de elementos permanece o mesmo No entanto, de acordo com a documentação mais recente, modificar a forma usando o método shape não é mais recomendado, pois pode estar obsoleto na versão futura É recomendável usar a função reshape para essa abordagem Vou mudar a forma da matriz usando a função de remodelação e imprimi-la Em seguida, imprimo uma matriz com a forma de um por nove por três, para que possamos compará-los. Embora tenhamos criado uma nova matriz usando a função reshape, ainda não criamos um novo conjunto de dados Portanto, todas as alterações que fizermos na matriz também serão refletidas em nossa segunda matriz, e ambas usarão os mesmos dados. Se alterarmos o primeiro elemento da nossa matriz atual, veremos que isso também se reflete na matriz recém-criada. Se quiser que a matriz seja independente dessa primeira, você precisa criar uma cópia usando o método copy. Vou imprimir a matriz novamente, me lembrando de como ela é. Agora, deixe-me apresentar a função ravel. É usado na biblioteca Napi para transformar uma matriz multidimensional em uma matriz unidimensional, por assim dizer, elogiando-a O que chamamos de ravel em uma matriz, ela nivela todas as suas dimensões e retorna uma matriz unidimensional, colocando todos os elementos em uma Na ordem, eles foram armazenados na matriz original. Essa é uma maneira simples de acessar todos os elementos de uma matriz independentemente de sua dimensionalidade na forma de uma matriz unidimensional É útil quando você precisa processar ou analisar dados em um formato linear mais simples sem alterar a estrutura original da matriz 10. Funções matemáticas no NumPy: Agora vamos nos familiarizar com as funções matemáticas e ver como elas funcionam em unidimensionais e multidimensionais Usando a função de organização, criarei a matriz unidimensional. Por exemplo, a função sum retornará a soma de todos os elementos em nossa matriz unidimensional. No entanto, se eu remodelar nossa matriz usando a função reshape para torná-la maior, digamos, nove números organizados no formato três por três Agora temos uma matriz multidimensional. Se simplesmente aplicarmos a função sum, ela retornará a soma de todos os elementos, independentemente do número de dimensões. No entanto, se quisermos aplicar a função soma especificamente a linhas ou colunas, precisamos especificar o parâmetro axis. Se eu definir o eixo igual a um, obteremos uma lista de somas para Se eu especificar o eixo igual a zero, obteremos uma lista de somas para A função principal calcula o valor médio dos elementos da matriz Como antes, podemos obter a média de toda a matriz ou especificar o eixo para calcular a média por linhas ou colunas. Vamos encontrar o valor máximo em nossa matriz usando a função max, e será oito. Da mesma forma, a função média encontra o valor mínimo da nossa matriz e então será zero. Novamente, podemos especificar o parâmetro do eixo. Se eu especificar eixo igual a um, encontramos o valor mínimo de cada Eu mudo para o máximo. Se eu especificar eixo igual a zero, encontramos o valor máximo de cada coluna Agora nos familiarizamos com os métodos de matriz de soma. Se você quiser saber mais detalhadamente, consulte a documentação. Aqui vemos o método de soma, que usamos anteriormente, junto com muitos outros métodos. No entanto, o Numpi também tem funções autônomas que servem a propósitos semelhantes Às vezes, pode haver confusão entre métodos e funções no Numpi Mas, por enquanto, a principal diferença é entender que os métodos estão associados a objetos em nosso caso, matrizes, e eles são chamados usando a notação de pontos As funções são globais e podem ser chamadas diretamente da importante biblioteca Numpi Não vamos nos aprofundar nos conceitos de programação orientada a objetos. Para isso, é claro, você pode verificar meu perfil e encontrar o padrão de zero até a programação orientada a objetos. Quase 6 horas de melhores informações para você. Vamos calcular a raiz quadrada de cada elemento em uma matriz usando uma função num pi. Vou modificar um pouco a matriz, removendo a forma , pois não é necessário fazer isso agora. Em seguida, vamos calcular o expoente da nossa matriz unidimensional Também podemos calcular funções trigonométricas como seno ou caso usando funções NumPi Ou vamos tentar calcular o logaritmo natural de cada elemento na matriz Opa, recebemos um erro porque não podemos pegar o logaritmo Vamos remover zero da nossa matriz. Isso é melhor. Agora podemos obter a resposta correta sem erros. O método redondo em matrizes NAPA é usado para arredondar os valores dos elementos para o número inteiro mais próximo Se eu usar esse método na matriz atual, nada mudará porque a matriz consiste em números inteiros No entanto, se eu reverter a função de log e depois aplicar a rodada, veremos o efeito com mais clareza O método redondo também usa um argumento opcional, o número de casas decimais para a segunda rodada Por exemplo, podemos especificar a terceira rodada para arredondar até três casas decimais Ou arredondar um para arredondar para um lugar unidimensional. Para esclarecer o que fizemos aqui, vou reescrever um pouco o código Eu criei uma variável e atribuí essa expressão a ela. Em seguida, imprimi o resultado, arredondado para uma casa decimal Para o próximo exemplo, gerarei uma matriz contendo números negativos. Podemos usar a função randint para gerar uma matriz de números inteiros aleatórios, incluindo valores negativos e positivos dentro um intervalo especificado de -50 Obviamente, você pode modificar o intervalo dos números de elementos conforme necessário. Então, obtemos uma matriz como essa. Agora vamos nos familiarizar com a função absoluta na nuca Essa função calcula os valores absolutos dos elementos da matriz Ele retorna uma matriz em que cada elemento é o valor absoluto do elemento correspondente na matriz original. Essa função é útil quando você precisa trabalhar com valores absolutos, como analisar dados sem considerar o sinal dos números. Você me pergunta qual é a diferença entre função ABS e a função absoluta que vimos antes. No NumPi, não há diferença entre ABS e absoluto. Eles fazem a mesma coisa. O ABS é simplesmente um Allis para função absoluta Ambas as funções retornam o valor absoluto de cada elemento na matriz. Isso significa que eles convertem números negativos positivos, deixando os números positivos inalterados Você pode usar qualquer um, mas o ABS é mais curto e geralmente preferido para facilitar a leitura Vamos nos familiarizar com a função argmax. Essa função retorna o índice da primeira ocorrência do valor máximo na matriz. Aqui vemos que o valor máximo é 42 e seu índice é igual a um. A função argmin funciona de forma semelhante. Ele retorna o índice da primeira ocorrência, o valor mínimo na matriz. Se a matriz tiver vários elementos com os mesmos valores máximos ou mínimos, argmax e argmin retornarão o índice da primeira ocorrência desses Essas funções são úteis para encontrar a posição dos elementos maiores e menores na matriz numpy Isso pode ser útil em muitos algoritmos e cálculos. 11. Randomização e combinação de matrizes no NumPy: Há casos em que você precisa gerar números aleatórios para uma matriz e, se quisermos que esses números sejam reproduzidos na mesma ordem, precisamos nos familiarizar com a função SID A função SID inicializou o gerador de números aleatórios, permitindo que você defina um valor inicial fixo Isso garante que a mesma sequência de números aleatórios seja gerada a cada vez, tornando seu código reproduzível Se eu disse o valor inicial uma vez, que seja zero, por exemplo. Isso significa que fixamos o valor inicial do gerador de números aleatórios. Isso significa que toda vez que geramos números aleatórios usando a função aleatória NP, obtemos a mesma sequência de números Isso é muito útil para a reprodutibilidade dos resultados. Em alguns casos, você precisa que seus números aleatórios sejam os mesmos sempre que o programa for executado. Também pode ser útil se você quiser mostrar algo para alguém e precisar reproduzir o comportamento com a mesma matriz e a mesma sequência de números A função de permutação na biblioteca Numbi é usada para criar permutações aleatórias Se eu especificar seis, será uma matriz aleatória contendo números de 0 a 5, reorganizados em ordem aleatória Essa função é frequentemente usada quando você precisa embaralhar ou reorganizar índices para continuar trabalhando com dados ou para selecionar aleatoriamente um subconjunto de elementos da matriz Eu posso aumentar o bit da matriz. Se eu especificar 16 aqui, obteremos uma matriz aleatória contendo números de 0 a 15 inclusive, reorganizados em ordem aleatória A função aleatória, no nosso caso, gera uma matriz de três por três em cada elemento é um número aleatório com uma distribuição normal, ou como também é chamada de distribuição gaussiana É importante observar que a função aleatória gera um número com uma distribuição normal com parâmetros que podem ser alterados. Por exemplo, você pode aumentar ou diminuir o número de elementos na matriz aleatória alterando os argumentos da função. Vamos continuar com a função de acréscimo. A função append na biblioteca Napi é usada para adicionar novos valores ao final de Ele usa os seguintes argumentos. A primeira é a matriz original à qual adicionaremos novos valores. O segundo são os valores que queremos adicionar. No nosso caso, adicionamos um novo valor à nossa matriz na forma de uma lista composta por três três. A função de inserção na biblioteca Napi é usada para inserir novos valores em uma matriz em um índice especificado Essa função usa três argumentos: a matriz original, o índice no qual inserir os valores e os valores a serem inseridos. No nosso caso, estou inserindo duas forças na matriz na posição dois do índice A função de inserção não altera a matriz original, mas cria uma nova com os valores inseridos para excluir elementos de uma matriz em índices especificados Usamos a função delete. São necessários três argumentos. O primeiro, a matriz. O segundo, os índices do elemento, que queremos excluir, e o terceiro, o parâmetro X. Se o eixo for conhecido, ele será aplicado à matriz achatada. Vamos ver como isso funciona com um exemplo. Agora, excluímos elementos com índices zero, um e o último elemento da nossa matriz Depois de chamar a função delete, ela retorna no UA sem os elementos excluídos. A matriz original permanece inalterada. Se precisarmos excluir um intervalo de índices da matriz, podemos fazer assim Executamos a função delete, especificamos nossa matriz e usamos o objeto numb para criar um intervalo de índices Nós especificamos o intervalo de 2 a 5. Lembre-se de que cinco não serão incluídos. Opa, esqueci o sublinhado. Agora, excluímos elementos da matriz com índices 2 a 4 e retornamos UA sem esses Para o próximo exemplo, eu crio uma matriz simples. A matriz será bidimensional. Opa, esqueci os parênteses. Desculpe, deixe-me adicioná-los rapidamente. Na função delete, também há o parâmetro axis, que indica a dimensão na qual queremos excluir valores. Se especificarmos eixo igual a zero, isso significa que queremos excluir Então, em nosso exemplo, excluímos a linha com o índice um e obtemos URA sem a função com o índice um. Isso será mais legível. Se eu especificar eixo igual a um, a coluna com índice um será excluída Eu crio outra matriz simples e nos familiarizaremos com a função de concatenação A função de concatenação na biblioteca Napi é usada para unir ou concatenar matrizes ao longo Então eu uso a função, especifico a matriz a ser unida. Eles são passados como um grampo e também há um eixo de parâmetros opcional, que é a linguagem dimensional para unir o raio Se quisermos unir a matriz ao longo da coluna, devemos especificar o eixo igual a um. Por padrão, o eixo é igual a zero, que significa desenhar ao longo das linhas da primeira dimensão Podemos especificar zero ou não especificá-lo. Esse valor será o padrão e obteremos nosso resultado. Portanto, a função de concatenação permite unir matrizes em várias dimensões, dependendo da Neste exemplo, removerei a parte desnecessária e criarei raios multidimensionais Vamos nos familiarizar com a função V stack. Essa função é usada para empilhar verticalmente ou concatenar dois ou mais raios ao longo da primeira concatenar dois ou mais raios ao longo da primeira dimensão, linhas. Esqueci os parênteses Desculpe, deixe-me adicioná-los rapidamente. Nós especificamos os raios. Queremos empilhar verticalmente. Eles são passados como uma tupla. Como resultado, obtemos uma matriz que contém linhas concatenadas de Essa é uma maneira conveniente concatenar uma matriz verticalmente e funciona com qualquer número Vou copiar essas duas linhas para um novo exemplo. Há também a função H stack. É para concatenação horizontal de duas ou mais matrizes. Você pode se perguntar qual é a diferença entre concatenar, onde especificamos o eixo, e as funções, como pilha V ou pilha H. A principal diferença entre eles está na sintaxe. É isso mesmo. Quando quiser unir uma matriz em uma determinada dimensão, você pode usar qualquer uma dessas funções, dependendo sua preferência e conveniência, depende de você. A única coisa que quero observar é que, em concatenar, podemos especificar o eixo, podemos especificar o eixo, e isso nos permite concatenar matrizes não apenas vertical ou horizontalmente, mas também ao longo de qualquer eixo, porque o eixo pode ser não apenas zero ou um, mas também ao longo de qualquer eixo, porque o eixo pois os raios podem ser multidimensionais e isso nos permite concatenar matrizes não apenas vertical ou horizontalmente, mas também ao longo de qualquer eixo, porque o eixo pode ser não apenas zero ou um, pois os raios podem ser multidimensionais. 12. Operações avançadas de matriz e técnicas de divisão: Vou remover as peças necessárias e criar novas matrizes. Vou mostrar outra maneira de fazer isso. A FramterFunction na biblioteca Nabi é usada para criar uma matriz unidimensional com base em um Ele pega uma sequência de valores do iterador e os converte em uma matriz Passamos um iterador ou uma sequência de valores a partir da qual criaremos uma matriz Você também pode especificar o parâmetro do tipo D, que é o tipo de dados para o qual os valores do iterador precisam ser convertidos Há uma contagem de parâmetros opcional, que é o número de nós a ser retirado do iterador Por padrão, esse parâmetro é menos um, que significa pegar todos os valores Em nosso exemplo, criamos a primeira matriz de quatro números usando intervalo. Na segunda matriz, também usamos intervalo, especificando que quatro números são retirados do intervalo de quatro a oito, então eles são dos números na primeira matriz Deixe-me apresentar a função de pilha de colunas. A função de pilha de colunas na biblioteca Napi é usada para concatenação horizontal Passamos uma tupla de matrizes como as colunas da matriz que queremos concatenar Vamos imprimi-lo para ver o que temos. É uma ferramenta conveniente para criar matrizes, especialmente quando você deseja combinar dados de várias matrizes como colunas, e vemos nossas matrizes Os dois primeiros foram gerados como exemplos e o terceiro é a soma de nossas duas matrizes Existe uma tecnologia de linhas de função semelhante, mas serve para combinar dados de várias matrizes como linhas Nesse caso, o resultado é o mesmo que se usássemos a função Vtach Vou adicionar uma linha vazia para separar as matrizes para maior clareza Eu também posso usar np dot R. É uma instância do objeto da classe R no Napi Ele atua como uma ferramenta conveniente de concatenação de matrizes permitindo criar e mesclar raios rapidamente ao longo do eixo Eu também posso usar o C. É uma instância do objeto da classe C no Nampi É uma ferramenta conveniente para concatenação de colunas, significa que mescla a matriz ao longo do eixo Estou mostrando isso para que você conheça as possibilidades de concatenação Você pode escolher o que funciona melhor para você. Vou remover peças desnecessárias para evitar bagunça e gerar uma matriz de dez números de 0 A função de divisão H é usada para dividir horizontalmente uma matriz em submatrizes Ele divide a matriz em partes iguais às seções ao longo do eixo horizontal Ele pega a matriz original. Queremos dividir o primeiro parâmetro, e o segundo parâmetro é em quantas partes queremos dividir a matriz. Se eu tentar dividir a matriz em três partes quando seu comprimento não for divisível por três, receberei um erro No entanto, em nosso caso, se eu especificar cinco, a matriz será dividida uniformemente em cinco submatrizes Também podemos dividir a matriz em duas partes iguais. Seu comprimento permite isso. V split é uma função em umpi usada para dividir uma matriz verticalmente ao longo das linhas Ele divide uma determinada matriz em várias submatrizes ao longo Como estamos dividindo a matriz verticalmente, recebemos Não podemos dividir uma matriz unidimensional por colunas. Vou gerar uma matriz um pouco maior e usar a função reshape para formar uma nova forma bidimensional da matriz Vamos executá-lo. um erro porque não podemos dividir essa matriz em duas, mas podemos dividi-la em três. Essa função é especialmente útil quando você precisa separar uma matriz em seções de linhas menores. Deixe-me aumentar a matriz para o próximo exemplo e torná-la tridimensional. Se precisarmos dividir a matriz, não apenas na horizontal ou na vertical, pois pode haver mais dimensões se a matriz O eixo pode ser não apenas zero ou um, podemos usar a função de divisão de raios. Ele divide a matriz no número especificado de peças. O segundo argumento é o número de partes, que é duas no nosso caso. E o terceiro parâmetro é o eixo. No nosso caso, eu especifiquei que o eixo é igual a dois. Então, está dividido ao longo da terceira dimensão. Especificar um eixo igual à função Numbi significa que estamos operando ao longo da terceira dimensão, a profundidade de uma A função de divisão no Numbi permite a divisão ao longo da terceira dimensão Mesmo que o número de peças não seja dividido uniformemente, ele distribui os elementos da maneira mais uniforme possível entre as submatrizes resultantes Mas se isso não for possível, ele criará peças com diferentes números de elementos. No nosso caso, obteremos três submatrizes. Dois conterão dados e o terceiro estará vazio. Também podemos experimentar e dividir ao longo sequências do eixo um ou das sequências do eixo zero Eu sugiro fazer uma pausa aqui e experimentar. Pratique um pouco. Agora, por exemplo, vou criar a lista mais simples e a matriz mais simples em Python As operações entre listas e raios têm comportamentos naturais diferentes. No caso de listas, a operação de adição executa a concatenação Isso significa unir duas listas em uma, mas não realiza adição aritmética No caso de matrizes numéricas, a operação de adição executa adição elemento a elemento, o que significa que adiciona elementos correspondentes da Veja a diferença entre duas funções de impressão. Um, adicionando listas e outro adicionando matriz. Também podemos realizar a multiplicação elemento de duas matrizes do mesmo tamanho Ou multiplique cada elemento por número. Se eu especificar essa operação em uma lista, ela repetirá a lista inteira no número especificado de vezes, em vez de realizar a vezes, em vez de realizar multiplicação elemento a elemento, como uma matriz de árbitros Quando você executa a operação de subtração, cada elemento na matriz muda seu sinal para o oposto O resultado dessa operação será uma nova matriz em que cada elemento da matriz será dividido por um. Em vez de um, pode ser qualquer número. Essa operação retorna ao restante de cada elemento quando dividida por dois, identificando efetivamente números pares e ímpares na matriz Se você subtrair uma lista de uma matriz Numbi, a lista será convertida em uma matriz e a subtração do elemento Y No entanto, você não pode subtrair lista de uma lista. Você receberá um erro. Multiplicar uma lista por lista também resultará em um erro. Agora, quero apresentar outro conceito e, para isso, criarei uma matriz bidimensional e uma matriz de 11 dimensões. Há também o conceito de radiodifusão. transmissão de matriz é um mecanismo no Napi que permite realizar operações em matrizes de diferentes formas ou dimensões Se dois raios tiverem um número diferente de dimensões, novas dimensões serão automaticamente adicionadas à matriz com menos dimensões até que seu tamanho seja compatível. Em outras palavras, se tivermos o mesmo número de elementos em cada linha da matriz, quando adicionarmos dois raios, a matriz menor será concatenada linha a linha com as linhas da Neste exemplo, criarei novamente uma matriz mais simples. Vamos nos familiarizar com o operador combinado. Quando realizamos a operação de adição, podemos fazer isso de forma mais sucinta Neste exemplo, estamos adicionando o número cinco a cada elemento da matriz e atualizando seu valor inicial para a soma com cinco. Essa operação é equivalente ao uso dessa notação, mas é feita diretamente na matriz sem criar um novo objeto É útil porque permite aumentar ou diminuir com eficiência os valores de todos os elementos da matriz sem precisar criar um novo Isso também pode ser aplicado a outras operações matemáticas. 13. Carregando, salvando e pesquisando no NumPy: Imagine que temos o arquivo de texto do qual queremos carregar dados. O método gen from TXT foi projetado para ler dados de um arquivo de texto e determinar automaticamente os tipos de dados É uma ferramenta poderosa para trabalhar com dados em formatos como CSV, TSV e outros formatos de texto Agora, vamos carregar dados do arquivo de dados TXT. Onde os dados são separados por vírgulas, especificamos que o limitador é igual a Esse método pode lidar automaticamente com valores ausentes e outras peculiaridades dos dados Vamos gerar esses dados em uma ampiray. Se usarmos Jen do Txt para ler números separados por vírgulas de um arquivo de texto, a saída no console normalmente será uma matriz Numpi com os valores carregados do Os valores serão exibidos como uma matriz em que cada número é um elemento na matriz. A mesma função na biblioteca Numpi é usada para salvar matrizes numpi em formato binário em Isso permite salvar os dados da matriz para que possam ser usados posteriormente sem a necessidade recarregar ou Se abrirmos o arquivo criado com a matriz salva, não veremos nada útil para nós. No entanto, a função de carregamento é usada para carregar essas matrizes salvas de volta à memória do programa Ele permite acessar os dados da matriz que foi salva usando a função segura. Essas funções são muito úteis para trabalhar com grandes quantidades de dados e processá-los posteriormente sem a necessidade de um cálculo. A função savetixt na biblioteca Napi é usada para salvar matrizes Nampi em formato de texto em Isso permite salvar os dados da matriz em um formato conveniente para leitura e edição. Por exemplo, vou escolher o formato CSV, mas você pode especificar extensões como Tixt, CSV Essas são extensões comuns geralmente usadas para armazenar dados em formato de texto. No entanto, o SaptiXT pode realmente salvar dados em qualquer arquivo de texto com as extensões que você desejar Podemos ver que nosso arquivo apareceu no diretório do projeto. Agora vamos carregá-lo. A função od text é usada para carregar dados de um arquivo de texto em um AMPirray. Ele permite acessar dados que foram salvos usando a função save Tixt Isso é muito semelhante ao mecanismo que discutimos anteriormente, onde usamos salvar e depois carregar. Mas esse formato não era fácil de usar ou legível para nós. Aqui, no entanto, já podemos ver o arquivo e seu conteúdo salvo. Essas duas funções são muito úteis para trabalhar com dados em um formato compreensível para humanos Eles permitem salvar e carregar dados facilmente sem a necessidade de entender a estrutura interna do Numprays Para o próximo exemplo, deixe-me criar U Suponha que tenhamos uma matriz bidimensional representando alguns dados. Bem, seja a temperatura em diferentes regiões, e queremos encontrar a posição de todos os elementos que excedem um determinado limite Eu defino um limite variável e o valor de 30. Esse é o valor sobre o qual queremos encontrar elementos na matriz. Como podemos fazer isso em Nam Pi? Existe uma função que é particularmente útil para encontrar a posição de elementos que satisfazem uma determinada condição, e essa é a função arc ware. Nossa condição retorna os índices do elemento que são verdadeiros na matriz booleana porque essa expressão cria uma matriz booleana cada elemento é verdadeiro se for maior que 30 e Eu imprimo a matriz de dados original para fornecer contexto para a posição dos elementos e, em seguida, imprimo os índices. Esses índices são retornados como matriz bidimensional, em que cada linha representa as coordenadas de um elemento, o índice da linha e o índice da coluna na matriz original A saída mostra que os elementos maiores que 30 estão localizados na seguinte posição na matriz de dados, Linha um, coluna dois, elemento 35. Linha dois, coluna zero, elemento 40. Linha dois, coluna um, elemento 45 e assim por diante. Neste exemplo, demonstrei como a função Arcbar pode ser usada para localizar a posição de elementos e matrizes numéricas que atendem a uma condição específica Parabéns. Nós terminamos esse curso intensivo. Espero que você tenha achado isso interessante e não muito chato e que tenha achado esta lição útil Mais uma vez, quero enfatizar que a prática é a coisa mais importante. Eu recomendo fazer uma pausa após cada aula e experimentar ou repetir algo manualmente porque a teoria é boa, mas você não aprenderá sem A melhor maneira de aprender é por meio de sua própria prática. Obrigado pela atenção e continue programando, continue aprendendo