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:
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:
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:
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:
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