Pandas rolando.Aplicar função

Pandas rolando.Aplicar função

Rolling () é uma das muitas funções úteis oferecidas pelo Pandas Toolkit, que é extraordinário em sua capacidade de realizar cálculos complicados nos conjuntos de dados. Para aplicar uma função específica com uma janela rolante para todos os dados, temos um método “Rolling ().aplicar()".

Isso pode ser usado para o quadro de dados, bem como para a série. Para invocar esta função, temos que seguir esta sintaxe:


Este artigo realizará a execução prática dessa função com duas técnicas em programas Python.

Exemplo # 1: Utilizando pandas rolando ().Aplicar () Função para calcular a mediana de um quadro de dados de pandas

Para esta ilustração, empregaremos os pandas “df.Rolling ().Método Aplicar () ”para aplicar um método a todo o quadro de dados com a janela rolante. Vamos nos mudar diretamente para a implementação deste conceito.

A compilação do programa Python é feita em uma ferramenta compatível com nosso sistema. Ele fornece o melhor ambiente apoiado pelo Python, por isso não ficaremos presos no processo de execução. O que escolhemos é a ferramenta "Spyder". Usaremos esta ferramenta para montar nossos programas de exemplo neste tutorial. Acabamos de lançar a ferramenta para trabalhar nela, e isso o levará diretamente ao ambiente de trabalho. Começaríamos a digitar o script nele.

Agora, os requisitos primários são carregados neste arquivo. Então, importamos os dois módulos necessários do Python. Estes são "pandas" e "numpy". A biblioteca de pandas é importada porque criaremos um quadro de dados usando esta biblioteca e o “rolling ().A função Aplicar () ”pertence a este mesmo kit de ferramentas. A segunda biblioteca, Numpy, é carregada em um método; a partir dele que será usado para calcular uma expressão matemática. Então, ambas essas bibliotecas foram introduzidas no programa. Além disso, abreviações, como "PD" e "NP", respectivamente, foram definidas para eles.

Usando uma função da biblioteca de pandas, precisamos construir um quadro de dados de pandas. O método para a criação de dados de dados é “PD.Quadro de dados()". Quando exercemos essa função, ela instrui o programa Python a iniciar o processo de geração de dados de dados. Assim, invocamos o “PD.DataFrame () ”Método e Valores especificados fornecidos para cada coluna que precisavam ser anexados nele. Queremos que esse quadro de dados tenha quatro colunas; Por isso, os chamamos de "leste", "oeste", "norte" e "sul".

O tipo de dados para todas as colunas é mantido o mesmo, o que é inteiro dtype, e o tamanho das colunas é 8. Os valores identificados para a coluna "Leste" são "1, 2, 3, 4, 5, 6, 7 e 8". O "oeste" detém valores "0, 1, 2, 3, 4, 5, 6 e 7". Os dados armazenados na coluna "norte" são "9, 8, 7, 6, 5, 4, 3 e 2". E a última coluna, "Sul", tem os valores "3, 5, 7, 9, 6, 4, 2 e 8". Um objeto DataFrame, "direções", é construído para manter esse quadro de dados para que possa ser disponibilizado para ser usado posteriormente.

Precisamos colocar esse quadro de dados em exibição. Isso pode ser feito usando a função python “print ()”. Este método leva qualquer tipo de entrada, seja uma string, função, objeto, variável ou alguma expressão, e simplesmente coloca o resultado na tela. Então, fornecemos o objeto DataFrame de "direção" para imprimi -lo.


Este é o quadro de dados resultante que construímos executando o trecho de código anterior.


Agora para calcular o “rolling ().Aplicar () ”Neste DataFrame, definimos uma função. O "def" é a palavra -chave que define uma função. A função que criamos é "Applrolling ():". Dentro deste método, outra função é definida, que é "mediana_estimation (i):". Você pode ter observado que escrevemos: "Eu" entre os aparelhos desta função. Este "eu" é usado para as iterações porque a função "mediana_estimation ()" funcionará iterativamente em todos os valores no quadro de dados. Agora, o que ele executará com cada iteração? Na linha seguinte, especificamos -a para nos devolver uma saída do “np.função mediana (i) ”.

Como o nome identifica, é a função de Numpy que calculará a mediana iterativa para todos os valores. Cada valor será substituído por "i"; A mediana será estimada para esse valor específico e retornará o resultado. Então invoco o “df.Rolling ().Método Aplicar () ”. O nome do quadro de dados é mencionado como "direções", a função "rolling ()" é configurada para encontrar a janela rolante para três observações, e a função "apply ()" é exercida com a função "mediana_estimation". A saída será mantida na variável "resultado". E então, retornamos essa variável "resultado" para a função principal.

Portanto, todo esse processo pode ser resumido à medida que a função “Applrolling ()” inicia e pergunta a função “mediana_estimation ()” para calcular a mediana iterativamente. Em seguida, ele entra no quadro de dados, calcula a janela rolante, aplica o método mediano para gerar a saída e sai da função principal. E "Print ()" exibirá o resultado da função "Applrolling ()".


Aqui, podemos ver que as três primeiras entradas têm valores de nan porque especificamos para estimar a janela rolante para três observações, pois elas não têm mais entradas acima deles para completar a janela, para que sejam deixadas vazias. A partir da quarta entrada, a mediana foi calculada para a janela rolante. O tipo de dados retornado deste DataFrame é flutuante.

Exemplo # 2: Utilizando pandas rolando.Aplicar () Função para calcular a soma de uma série de pandas

A segunda técnica de empregar este método está exercendo -o na série Pandas desta vez.

Primeiro importamos a biblioteca de pandas para o nosso ambiente Python e fizemos "PD" seu alias a ser usado ao longo do programa. Então nós invocamos o “PD.Função de séries () ”do Pandas Toolkit para criar uma série de pandas. O "PD" é a abreviação dos pandas definida acima, e a "série" é a palavra -chave para a construção de uma série. Especificamos uma matriz de valores para esta função. Os valores são “11, 12, 13, 14, 15, 3, 7, 17, 9, 1, 21, 24 e 2”. Para preservar esta série, temos um objeto de série "aleatório". Esse objeto "aleatório" agora está segurando nossa série, então passamos para o método "print ()" para apresentar seu conteúdo no terminal.


Quando pressionamos a opção "Run File", nosso código é executado. No instantâneo seguinte, você pode ver a série atualmente gerada.


Depois de imprimir a série, definimos uma função “Série_Ra ()”. Agora, os principais cálculos serão realizados nesta função. Dentro dessa função, definimos outra função que é “compute_sum (j)”. Você pode adivinhar pelo rótulo que ele obterá a soma. O "J" aqui diz para desempenhar esta função iterativamente. Cada iteração se moverá e executará a função "Sum (J)". E depois retorne a soma calculada para cada valor.

Então a “série.Rolling ().O método Aplicar () ”é chamado na função“ compute_sum () ”. Ele estimará a janela de rolagem para encontrar cinco observações e depois calcular sua soma usando o método "Aplicar ()". A saída será preservada na variável local "resultado" e devolvida à função principal. Por fim, passamos a função de entrada "série_RA ()" para o método "print ()" para ver a série final.


Esta é a série final com uma soma calculada em uma janela de cinco observações.

Conclusão

O tópico discutido para este artigo foi baseado nos dois conceitos de pandas, que são "rolling ()" e "Apply ()". Elaboramos a utilização desse método, dando -lhe uma explicação detalhada da implementação prática do “Rolling ().Aplicar () ”função. Este tutorial continha duas abordagens para empregar este método. A primeira instância falou sobre a aplicação de uma função mediana do kit de ferramentas Numpy na janela rolante de um pandas de dados. Enquanto o segundo exemplo nos deu a ideia de implementar esse conceito em uma série de pandas. Então, aplicamos essa função calculando a soma na janela rolante especificada da série. Você pode exercer a técnica que é mais viável para sua tarefa.