• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
      • Ajuste de Curvas
      • Calculadora de Matrices
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Calculadora XIRR con Flujos Irregulares
      • Simulador FIRE (Financial Independence, Retire Early)
    • Negocios
      • CLV
      • Scoring
    • Herramientas
      • Formateador / Minificador de JSON
      • Conversor CSV ↔ JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Comprobar que una cadena sólo contiene números en Python

mayo 13, 2024 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 3 minutos

En muchas aplicaciones se puede recibir una cadena de texto que solamente debe contener valor numérico. Esto es, una cadena que solamente debería contener números y, a lo sumo, un punto como separador decimal. Si un usuario introduce este dato, es necesario validar el contenido de la cadena antes de poder emplearla dentro del código. En esta entrada, se verá cómo comprobar que una cadena sólo contiene números en Python mediante el uso de expresiones regulares, creando una función que se puede usar para la tarea.

Uso de expresiones regulares para verificar que una cadena sólo contiene números en Python

Validar que una cadena de texto sólo contiene números es algo que se puede hacer fácilmente mediante el uso de expresiones regulares. Las cuales permiten definir patrones de búsqueda complejos en cadenas de texto.

Para verificar si una cadena contiene sólo números en Python, podemos seguir estos pasos:

  1. Importar el módulo re de Python, que proporciona soporte para expresiones regulares.
  2. Definir una expresión regular que describa el patrón que debe contener la cadena de texto. En este caso, se desea buscar sólo números (\d) y puntos (\.).
  3. Utilizar la función re.match() para verificar si la cadena cumple con el patrón especificado.

A continuación, se muestra un ejemplo de cómo se puede hacer esto en Python:

Desbalanceo de Clases en Credit Scoring: Por Qué Usamos Ponderación en lugar de Undersampling
En Analytics Lane
Desbalanceo de Clases en Credit Scoring: Por Qué Usamos Ponderación en lugar de Undersampling

import re

# Cadena de texto a verificar
cadena = '123.45'

# Expresión regular para buscar solo números y puntos
patron = '^[0-9.]+$'

# Verificar si la cadena contiene solo números y puntos
if re.match(patron, cadena):
    print('La cadena contiene solo números y puntos.')
else:
    print('La cadena contiene caracteres no numéricos o un formato incorrecto.')

En este ejemplo, la cadena '123.45' cumple con el patrón especificado y, por lo tanto, se imprimirá “La cadena contiene sólo números y puntos.”. Sin embargo, si la cadena no cumple con el patrón, se imprimirá “La cadena contiene caracteres no numéricos o un formato incorrecto.”

Creación de una función para validar que una cadena sólo contiene números en Python

El código del ejemplo anterior se puede implementar en una función para facilitar su uso en cualquier programa. Una posible implementación es la que se muestra a continuación.

import re

def contiene_numeros(cadena):
    """
    Verifica si una cadena de texto contiene solo números y puntos.

    Parámetros:
    cadena : str
        La cadena de texto a verificar.

    Devuelve:
    bool
        True si la cadena contiene solo números y puntos, False en caso contrario.
    """
    patron = '^[0-9.]+$'
    return bool(re.match(patron, cadena))

Lo que se puede evaluar con múltiples ejemplos.

ejemplos = [
    "123.45",
    "3.14159",
    "42",
    "abc123",
    "1234.56",
    "3",
]

# Iterar sobre los ejemplos y verificar si son números o no
for ejemplo in ejemplos:
    if contiene_numeros(ejemplo):
        print(f'"{ejemplo}" es un número válido.')
    else:
        print(f'"{ejemplo}" no es un número válido.')
"123.45" es un número válido.
"3.14159" es un número válido.
"42" es un número válido.
"abc123" no es un número válido.
"1234.56" es un número válido.
"3" es un número válido.

Ahora, esta función se puede incluir en cualquier programa para verificar si los valores introducidos por el usuario son válidos o no.

Publicidad


Conclusiones

Comprobar si unas cadenas de texto contienen solamente valores numéricos es una tarea habitual. Mediante el uso de expresiones regulares se puede realizar esta validación de una forma rápida y eficiente. Proceso que además se puede factorizar en una función y hacer de este modo el código completamente reutilizable en diferentes proyectos.

Imagen de Alicja en Pixabay

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Desbalanceo de Clases en Credit Scoring: Por Qué Usamos Ponderación en lugar de Undersampling
  • Por qué migrar tus proyectos TypeScript a ES Modules en 2026
  • Actualizar expresslanets a ES Modules con tsx y Vitest
  • Curiosidad: El “bug”, la polilla y la leyenda de Grace Hopper
  • Curiosidad: Por qué la criptografía habla siempre de Alice y Bob
  • BG/BB: el modelo de CLV para compras en períodos discretos
  • Errores comunes al interpretar resultados estadísticos
  • Método del codo: interpretación correcta y limitaciones
  • Dashboard CLV: cuatro modelos, un mismo dataset, conclusiones muy distintas

Publicado en: Python

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Actualizar expresslanets a ES Modules con tsx y Vitest

septiembre 24, 2026 Por Daniel Rodríguez

Pareto/NBD: cuando el abandono silencioso cambia el CLV

septiembre 22, 2026 Por Daniel Rodríguez

Por qué migrar tus proyectos TypeScript a ES Modules en 2026

septiembre 17, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Gráficos de barras en Matplotlib publicado el julio 5, 2022 | en Python
  • El índice de Davies-Bouldinen para estimar los clústeres en k-means e implementación en Python publicado el junio 30, 2023 | en Ciencia de datos
  • Buscar en Excel con dos o más criterios publicado el septiembre 7, 2022 | en Herramientas
  • Extensiones de Visual Studio Code para científicos de datos publicado el febrero 21, 2024 | en Herramientas
  • La consola de JavaScript publicado el junio 26, 2020 | en JavaScript

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.1 (11)

Aplicar el método D’Hondt en Excel

Comentarios recientes

  • Daniel Rodríguez en Curiosidad: La Paradoja de Simpson, o por qué no siempre debes fiarte de los promedios
  • Hatepi en Curiosidad: La Paradoja de Simpson, o por qué no siempre debes fiarte de los promedios
  • Daniel Rodríguez en Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)
  • Juan en Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)
  • bif en JSON en bases de datos: cuándo es buena idea y cuándo no

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto