Minha linha favorita de código Python

Sim, eu tenho uma linha 'favorita' de código Python porque acontece de haver algo que faço com tanta frequência (tanto na minha palavra quanto na vida acadêmica) que a elegância disso não só me economiza tempo, mas também faz o que preciso.

Pandas DataFrames são uma maneira especialmente boa de gerenciar dados tabulares em Python. Freqüentemente, na ciência de dados, os dados são manipulados - não apenas um ou dois valores, mas cada valor em uma ou mais colunas. Por exemplo, ao fazer correções.

É aí que entra minha linha de código favorita.

Aqui está um exemplo com alguns dados inválidos:

Vou começar com a makecoluna; os valores nele são inconsistentes e eu preciso colocar todos os makevalores iniciais em maiúsculas. Sem mais delongas, aqui está minha linha de código favorita (presumindo que os dados sejam carregados em um DataFrame chamado my_data_df:

my_data_df[‘make’] = my_data_df[‘make’].apply(lambda x: x.title())

Olha, tudo bem e corrigido.

Dividindo isso um pouco, o que fiz foi usar a applyfunção DataFrame para iterar cada valor na coluna especificada ( make) e, para cada célula, apliquei uma função de string simples ( title) para converter esse valor em maiúsculas e minúsculas (capitalização inicial). Na lambdafunção, xé o valor que estou alterando.

Estendendo a Funcionalidade

Outra coisa que a torna minha linha de código favorita é que é uma linha versátil, que pode ser estendida e generalizada. Esse último exemplo realmente não foi feito de forma totalmente correta, foi? BMW é uma sigla que significa Bayerische Motoren Werke e não deveria ser a caixa do título, mas sim o máximo.

Posso fazer isso com minha linha de código favorita? Sim, posso.

my_data_df[‘make’] = my_data_df[‘make’].apply(lambda x: x.title() if x != ‘bmw’ else x.upper())

O que fiz foi estender a lambdafunção original adicionando um if else clausepara gerenciar BMW. Declarado claramente, essa linha de código agora diz:

Para cada linha da makecoluna, converta-o em maiúsculas, caso o valor não bmwseja;

Nada mal para uma única linha de código.

Generalize o código

Como eu disse no início, eu uso essa linha de código (ou alguma variação dela) com muita frequência. Na prática, eu não o reescrevo todas as vezes, por mais divertido que seja. Em vez disso, generalizei variações usando funções Python. Olhe para a daycoluna - os dias da semana são inconsistentes e eu gostaria que todos os dias fossem os dias totalmente escritos no título. Mas, de forma mais geral, tenho uma ou mais palavras “erradas” que quero tornar “certas”. Agora, a única linha de código para alterar uma dessas situações, digamos, wedpara Wednesday, é bem simples:

my_data_df[‘day’] = my_data_df[‘day’].apply(lambda x: ‘Wednesday’ if x == ‘wed’ else x.title())

Assim como no último exemplo, coloquei uma condição na lamdafunção, mas desta vez apenas verifiquei se o valor é wede, se for, altere-o para Wednesday, caso contrário, torne-o inicial cap ( else x.title()).

Isso é bom, mas há mais de uma alteração necessária e eu gostaria de construir uma função que pode transformar qualquer palavra em qualquer outra palavra.

Este código obviamente não inclui minha linha favorita, mas será usado por minha linha favorita. A correct_wordfunção é uma função geral que primeiro converte xpara maiúsculas e minúsculas e, então, se xfor a palavra errada, retorna a palavra certa (em essência, tornando x a palavra certa), caso contrário, retorna x. (Você não quer mudar a palavra, a menos que seja a palavra errada.) Se eu começar tudo de novo com meus dados originais, agora posso mudar tudo com bastante facilidade.

Observe como a lambdafunção agora simplesmente chama minha correct_wordfunção personalizada . Bem simples. (Eu sei, eu sei, esta não é mais uma única linha de código, mas ainda estou usando minha linha favorita e mostrando como usá-la de forma mais geral.)

Eu sei que existem linhas de código mais poderosas, e talvez linhas de código ainda mais legais, mas nenhuma delas é minha favorita. Esta está. Espero que você goste.

Suggested posts

Como executar plugins ChatGPT gratuitamente usando Langchain

Como executar plugins ChatGPT gratuitamente usando Langchain

Você deve ter ouvido falar sobre todos os novos plug-ins poderosos do ChatGPT, como navegador, intérprete de código, etc. Mas há um problema, o acesso aos plug-ins é limitado a uma lista de espera e, portanto, muitos não têm acesso a ela.

Meus recursos de codificação mais usados

Meus recursos de codificação mais usados

Esta semana, recebi um e-mail de um membro da lista de e-mails diários. Eles queriam saber: quais recursos você visita diariamente, semanalmente e mensalmente? Ótima pergunta! Fico feliz em tentar compartilhar algumas ideias sobre meu fluxo de trabalho e os principais recursos que uso.

Related posts

pronomes são super assustadores

Isso me atinge De repente, como tantas vezes acontece É o meio do caminho tudo de novo <Não, não aquele no Pacífico, seu marrom, aquele no carnaval> Todas as manchetes em voz alta…..

O que você pode fazer em sua temporada de espera (esperando para conseguir seu primeiro emprego em tecnologia)

O que você pode fazer em sua temporada de espera (esperando para conseguir seu primeiro emprego em tecnologia)

Mudar para uma nova carreira pode ser extremamente desafiador se você tentar fazer isso sozinho. É importante encontrar parceiros de responsabilidade que estejam no mesmo nível de aprendizado que você, que compartilhem objetivos, tenacidade e motivação semelhantes.

Criando um ambiente de trabalho seguro

Criando um ambiente de trabalho seguro

“Ele vai me proteger quando eu estiver em perigo. Ele me esconderá em sua tenda.

Conversas Perigosas

Conversas Perigosas

Se quisermos continuar a prosperar neste planeta, teremos que ter conversas perigosas. Aqueles que desafiam o que temos feito, o que estamos fazendo e o que estamos determinados a continuar fazendo (ou planejamos fazer).