La solicitud

De Thomas Whitaker, Director de Merchandising
Tu objetivo
Asigna a result el string LINEN THROW PILLOW | $34.00, construido a partir de name y price: quita los espacios, pasa el nombre a mayúsculas y da formato al precio con exactamente 2 decimales.
- Guarda un texto (str) en
resultpendiente
Tu código
Cargando el editor…
Solución de referencia
Mote revisa tu resultado
Presiona Ejecutar. Cada fila que cumple el objetivo se vuelve una luciérnaga en tu linterna.
Lo que recibe Thomas, y por qué
La lección
Los strings son texto
Un string (str) es texto entre comillas. Las comillas simples y las dobles hacen lo mismo:
product = "Linen Throw Pillow"
city = 'Portland'
Los analistas pasan mucho tiempo con strings, porque los datos reales están llenos de texto desordenado: nombres escritos por clientes, códigos exportados de sistemas antiguos, ciudades con espacios al final.
Métodos de string
Un método es una función que pertenece a un valor. Lo llamas con un punto. Los strings traen muchos útiles:
raw = " linen throw pillow "
raw.strip() # 'linen throw pillow' spaces removed at both ends
raw.upper() # ' LINEN THROW PILLOW '
raw.strip().title() # 'Linen Throw Pillow'
"SKU-1042".lower() # 'sku-1042'
"oak, walnut".replace(",", " /") # 'oak / walnut'
"Oak Side Table".startswith("Oak") # True
Los métodos devuelven un string nuevo. El original nunca cambia, porque los strings en Python no se pueden modificar en el sitio. Si quieres conservar la versión limpia, guárdala:
name = raw.strip()
Puedes encadenar métodos, y se ejecutan de izquierda a derecha: raw.strip().upper() primero
quita los espacios y luego pasa a mayúsculas el resultado.
Unir texto con f-strings
Para construir una frase o una etiqueta a partir de valores, pon una f antes de la comilla de
apertura y escribe las variables entre llaves:
name = "Oak Side Table"
stock = 14
f"{name}: {stock} in stock" # 'Oak Side Table: 14 in stock'
Todo lo que está dentro de las llaves se evalúa como Python, así que también puedes llamar métodos
ahí: f"{name.upper()}".
Dar formato a números
Después del valor, los dos puntos inician una especificación de formato. Las que usarás constantemente:
price = 34
f"{price:.2f}" # '34.00' two decimals
f"{1249.5:,.2f}" # '1,249.50' thousands separator
f"{0.237:.1%}" # '23.7%' as a percentage
.2f significa «punto fijo, dos decimales». También redondea: f"{49.996:.2f}" da '50.00'. Fíjate en
que el signo de dólar de una etiqueta es solo un carácter más del string, así que f"${price:.2f}"
muestra $34.00.
¿Por qué no usar simplemente +?
Puedes unir strings con +, pero cada pieza tiene que ser ya un string:
"Price: " + 34 # TypeError: can only concatenate str (not "int") to str
"Price: " + str(34) # 'Price: 34'
Los f-strings convierten los valores por ti y te permiten darles formato, por eso son el estándar moderno.
Por qué los analistas limpian el texto primero
El texto que a una persona le parece idéntico puede ser distinto para un ordenador. "Portland",
"portland" y "Portland " son tres valores diferentes, así que un conteo de clientes por ciudad
partiría una ciudad en tres filas. Limpiar el texto hasta una forma consistente, normalmente sin
espacios sobrantes y con una capitalización fija, es una de las primeras tareas en casi cualquier
conjunto de datos. Lo harás a gran escala con pandas en el capítulo de limpieza, usando exactamente
los métodos que acabas de aprender.
Errores comunes
- Llamar a
name.strip()y esperar que el propionamecambie. Los strings son inmutables; usa el valor devuelto. - Dar formato al precio con
{price}en lugar de{price:.2f}, que muestra34en vez de34.00. - Olvidar la
fantes de la comilla. Sin ella, Python muestra las llaves tal cual:"{name}"se queda en"{name}".
¡Linterna encendida!
Practicaste: stringsstripupperf stringsnumber formatting
- Resuelto
- Sin pistas
- Al primer intento
