Dado el siguiente dataframe:
import pandas as pd import numpy as np df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'], }) df A 0 1a 1 NaN 2 10a 3 100b 4 0b
Me gustaría extraer los números de cada celda (donde existan). El resultado deseado es:
A 0 1 1 NaN 2 10 3 100 4 0
Sé que se puede hacer con str.extract
, pero no estoy seguro de cómo.
Dale un grupo de captura de expresiones regulares:
df.A.str.extract('(\d+)')
Te dio:
0 1 1 NaN 2 10 3 100 4 0 Name: A, dtype: object
Para responder a la pregunta de @Steven G en el comentario anterior, esto debería funcionar:
df.A.str.extract('(^\d*)')