O autor do artigo, cuja tradução estamos publicando hoje, diz que, quando descobriu os métodos da biblioteca Pandas sobre os quais deseja falar aqui, sentiu-se como um programador completamente incompetente. Porque O fato é que, quando ele escreveu o código antes, estava com preguiça de procurar no mecanismo de pesquisa e descobrir se havia alguma maneira eficaz de resolver alguns problemas. Como resultado, ele nem sabia da existência de vários métodos Pandas muito úteis. Sem usar esses métodos, ele ainda conseguiu implementar a lógica necessária, mas isso exigiu várias horas de trabalho, o que o deixou nervoso. E, claro, ao longo do caminho, ele escreveu um monte de código desnecessário. Ele preparou este artigo para aqueles que não gostariam de estar em sua situação.

Métodos Idxmin () e idxmax ()
Eu já
escrevi sobre os
idxmin()
e
idxmax()
, mas se não falar sobre eles aqui, não será fácil para você entender o que discutiremos a seguir.
Esses métodos, se você os descrever em poucas palavras, retornam o índice (posição do ponteiro) para o registro desejado. Suponha que eu criei o seguinte objeto
Series
Pandas.
x = pd.Series ([ 1, 3, 2, 8, 124, 4, 2, 1 ])
Preciso encontrar o índice do elemento mínimo e máximo. Obviamente, não é difícil descobrir apenas olhando a descrição do objeto, mas em projetos reais nunca (exatamente assim - “nunca”) não atende a conjuntos de dados que consistem em um número tão pequeno de elementos.
O que fazer Use os
idxmin()
e
idxmax()
. Aqui está o que parece:
Usando esses métodos, você não deve esquecer que eles retornam o índice da primeira ocorrência do valor mínimo ou máximo.
Método Ne ()
O método
ne()
foi uma grande descoberta para mim. Há algum tempo, eu estava trabalhando com séries temporais de dados e tive um problema quando as primeiras
n
observações foram 0.
Imagine que você comprou algo, mas não o consumiu por um determinado período de tempo. O que você comprou está à sua disposição, mas como você não o está usando, o nível de consumo disso em uma determinada data é 0. Desde que eu estava interessado nos dados sobre consumo obtidos quando o uso real do que começou " comprado ”, verificou-se que o método
ne()
era exatamente o que eu precisava.
Considere o seguinte cenário. Temos um objeto Pandas
DataFrame
, que contém os resultados de algumas observações, que, no topo da lista, são representadas pelos valores de 0.
df = pd.DataFrame()
O método
ne()
retornará
True
apenas se o valor atual não for o especificado quando esse método foi chamado (por exemplo, quando for chamado, o valor 0 poderá ser especificado), caso contrário, retornará
False
:
df['X'].ne(0)
Este método por si só não pode ser chamado de particularmente útil. Agora lembre-se de como, no início do artigo, eu disse que, para entender o artigo, você precisa se familiarizar com o método
idxmax()
. Eu não estava brincando então. Você pode anexar a chamada
idxmax()
à chamada
ne()
acima. O resultado é o seguinte:
df['X'].ne(0).idxmax()
Isso nos diz que o primeiro resultado de observação diferente de zero está na posição 6. Novamente, isso pode não parecer uma descoberta tão importante. Mas o mais importante aqui é que essas informações podem ser usadas para selecionar um subconjunto do objeto
DataFrame
e exibir apenas os valores que aparecem começando na posição detectada:
df.loc[df['X'].ne(0).idxmax():]
Essa técnica é muito útil em muitas situações nas quais você precisa trabalhar com dados de séries temporais.
Métodos Nsmallest () e nlargest ()
Suspeito que somente depois de ver os nomes desses métodos, você possa adivinhar o objetivo deles. Suponha que eu criei o seguinte
DataFrame
:
df = pd/DataFrame({ 'Name': ['Bob', 'Mark', 'Steph', 'Jess', 'Becky'], 'Points': [55, 98, 46, 77, 81] })
Para torná-lo mais interessante, suponha que aqui estão os resultados de um teste que alguns alunos passaram. Queremos encontrar três alunos que fizeram o pior com o teste:
df.nsmallest(3, 'Points')
Ou - descubra quem está entre os três primeiros:
df.nlargest(3, 'Points')
Esses métodos são ótimos substitutos para métodos como
sort_values()
.
Sumário
Aqui vimos alguns métodos úteis do Pandas. Para aqueles que sabem sobre eles, sua aplicação pode parecer completamente natural, mas para aqueles que acabaram de aprender sobre eles, eles podem parecer uma descoberta real. Esperamos que eles o atendam bem.
Caros leitores! Conhece alguns métodos úteis do Pandas que outros desconhecem?
