¿Cómo convertir strings en flotantes en Pandas DataFrame?

En este artículo, veremos diferentes formas en las que podemos convertir una string en un flotante en un marco de datos de pandas. Ahora, creemos un marco de datos con ‘Año’ y ‘Tasa de inflación’ como columna.

Python3

# importing pandas library
import pandas as pd
  
# dictionary
Data = {'Year': ['2016', '2017', 
                 '2018', '2019'],
        'Inflation Rate': ['4.47', '5', 
                           '5.98', '4.1']}
# create a dataframe
df = pd.DataFrame(Data)
  
# show the dataframe
print (df)
  
# show the datatypes
print(df.dtypes)

Producción:

dataframe

Método 1: Usar DataFrame.astype() .

El método se usa para convertir un objeto pandas a un tipo de d especificado. 

Sintaxis: DataFrame.astype(self: ~ FrameOrSeries, dtype, copy: bool = True, errores: str = ‘raise’)
 

Devoluciones: casted: tipo de llamador

Ejemplo: En este ejemplo, convertiremos cada valor de la columna ‘Tasa de inflación’ en flotante.

Python3

# importing pandas library
import pandas as pd
  
# dictionary
Data = {'Year': ['2016', '2017', 
                 '2018', '2019'],
        'Inflation Rate': ['4.47', '5', 
                           '5.98', '4.1']}
# create a dataframe
df = pd.DataFrame(Data)
  
# converting each value 
# of column to a string
df['Inflation Rate'] = df['Inflation Rate'].astype(float)
  
# show the dataframe
print(df)
  
# show the datatypes
print (df.dtypes)

Producción:

dataframe string to float

Método 2: Usar la función pandas.to_numeric() .

La función se utiliza para convertir el argumento a un tipo numérico.
 

Sintaxis: pandas.to_numeric(arg, errores=’subir’, downcast=Ninguno)
 

Devuelve: numérico si el análisis se realizó correctamente. Tenga en cuenta que el tipo de devolución depende de la entrada. Serie si Serie, de lo contrario ndarray. 

Ejemplo 1: En este ejemplo, convertiremos cada valor de la columna ‘Tasa de inflación’ en flotante.

Código:

Python3

# importing pandas library
import pandas as pd
  
# creating a dictionary
Data = {'Year': ['2016', '2017', 
                 '2018', '2019'],
          'Inflation Rate': ['4.47', '5', 
                             '5.98', '4.1']}
# create a dataframe
df = pd.DataFrame(Data)
  
# converting each value of column to a string
df['Inflation Rate'] = pd.to_numeric(df['Inflation Rate'])
  
# show the dataframe
print(df)
  
# show the data types
print (df.dtypes)

Producción:
 

dataframe string to float

Ejemplo 2: A veces, es posible que no tengamos un valor flotante representado como una string. Entonces, la función pd.to_numeric() mostrará un error. Para eliminar este error, podemos usar errors=’coerce’ , para convertir el valor en esta posición para convertirlo a NaN

Código

Python3

# importing pandas as pd
import pandas as pd
  
# dictionary
Data = {'Year': ['2016', '2017',
                 '2018', '2019'],
         'Inflation Rate': ['4.47', '5', 
                           'No data', '4.1']}
  
# create a dataframe
df = pd.DataFrame(Data)
  
# converting each value of column to a string
df['Inflation Rate'] = pd.to_numeric(df['Inflation Rate'],
                                     errors = 'coerce')
  
# show the dataframe
print(df)
  
# show the data types
print (df.dtypes)

Producción:
 

dataframe string to float with error handling

Nota: el tipo de datos de string se muestra como un objeto.

Publicación traducida automáticamente

Artículo escrito por parasmadan15 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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