Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Aparagem | Métodos de String
Manipulação de Strings em Python

book
Aparagem

Como cientistas de dados, podemos nos deparar com alguns dados numéricos representados em formato de texto. Por exemplo, o ano de nascimento no formato 1991 ano, ou o peso no formato 142 lbs, etc. Essas unidades tornam a aplicação de funções matemáticas (como a média) impossível.

Felizmente, Python pode resolver o problema. Há um método embutido .strip que retorna uma cópia da string removendo os caracteres iniciais e finais. Se quisermos remover elementos apenas do lado esquerdo, usamos .lstrip, e rstrip para símbolos do lado direito. Todas essas funções, por padrão, removerão todos os possíveis caracteres de espaço.

Caso queiramos deletar certos caracteres, podemos definí-los como um argumento na função. Esses caracteres devem ser escritos consecutivamente em uma única string. Por exemplo,

print("148 lbs".strip(' lbs'))
print("AB string AB".lstrip('AB '))
12
print("148 lbs".strip(' lbs')) print("AB string AB".lstrip('AB '))
copy

Esses métodos funcionam da seguinte maneira: eles tentam encontrar pelo menos um dos símbolos (especificados no argumento) no lado respectivo (esquerdo para .lstrip, direito para .rstrip e em ambos os lados para .strip) e removem-no até que nenhum símbolo seja encontrado.

Tarefa

Swipe to start coding

Lista de strings ages contém strings no formato ___ anos. Você precisa iterar pela lista, removendo os finais ' anos', converter cada elemento para o tipo inteiro e calcular a média.

Não se preocupe se você não estiver familiarizado com alguns pedaços de código.

Solução

# Loading library
import numpy as np
# List
ages = ['43 y/o', '24 y/o', '34 y/o', '23 y/o']
# Iterating over list
for i in range(len(ages)):
ages[i] = int(ages[i].strip(' y/o'))
print("Average age:", np.array(ages).mean())

Nota

É impossível calcular a média para a lista original, pois seus elementos não podem ser reconhecidos como números.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
# Loading library
import numpy as np
# List
ages = ['43 y/o', '24 y/o', '34 y/o', '23 y/o']
# Iterating over list
for i in range(len(ages)):
ages[i] = int(ages[i].___('___'))
print("Average age:", np.array(ages).mean())

Pergunte à IA

expand
ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt