Veamos métodos para convertir una string en un número entero en Pandas DataFrame:
Método 1: Uso del método Series.astype() .
Sintaxis: Series.astype(dtype, copy=True, errors=’raise’)
Parámetros: Este método tomará los siguientes parámetros:
- dtype: tipo de dato en el que convertir la serie. (por ejemplo, str, float, int).
- copy: Hace una copia de dataframe /series.
- errores: Error al generar la conversión a un tipo de datos no válido. Por ejemplo, dict to string. ‘raise’ generará el error e ‘ignore’ pasará sin generar el error.
Retorno: Serie con tipo de dato cambiado.
Uno de los enfoques más efectivos es Pandas astype(). Se utiliza para modificar un conjunto de tipos de datos. Las columnas se importan ya que el marco de datos se crea a partir de un archivo csv y el tipo de datos se configura automáticamente, lo que varias veces no es lo que debería tener. Por ejemplo, una columna de salario puede importarse como una string, pero tenemos que convertirla en flotante para realizar operaciones.
Ejemplo 1:
Python3
# import pandas library import pandas as pd # dictionary Data = {'Name': ['GeeksForGeeks','Python'], 'Unique ID': ['900','450']} # create a dataframe object df = pd.DataFrame(Data) # convert string to an integer df['Unique ID'] = df['Unique ID'].astype(int) # show the dataframe print (df) print("-"*25) # show the data types # of each columns print (df.dtypes)
Producción :
Ejemplo 2:
Python3
# import pandas library import pandas as pd # dictionary Data = {'Algorithm': ['Graph', 'Dynamic Programming', 'Number Theory', ' Sorting And Searching'], 'Problems': ['62', '110', '40', '55']} # create a dataframe object df = pd.DataFrame(Data) # convert string to integer df['Problems'] = df['Problems'].astype(int) # show the dataframe print (df) print("-"*25) # show the data type # of each columns print (df.dtypes)
Producción :
Método 2: Uso de pandas . método to_numeric().
Sintaxis: pandas.to_numeric(arg, errores=’subir’, downcast=Ninguno)
Parámetros: Este método tomará los siguientes parámetros:
- arg: lista, tupla, array unidimensional o Serie.
- errores: {‘ignorar’, ‘elevar’, ‘coaccionar’}, ‘elevar’ predeterminado
-> Si ‘elevar’, el análisis no válido generará una excepción
-> Si ‘obligar’, el análisis no válido se establecerá como NaN
– > Si ‘ignorar’, entonces el análisis no válido devolverá la entrada- downcast : [predeterminado Ninguno] Si no es Ninguno, y si los datos se han convertido con éxito a un tipo numérico, convertir los datos resultantes al tipo numérico más pequeño posible de acuerdo con las siguientes reglas:
-> ‘entero’ o ‘firmado’: el signo más pequeño int dtype (min.: np.int8)
-> ‘unsigned’: menor int dtype sin signo (min.: np.uint8)
-> ‘float’: menor float dtype (min.: np.float32)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.
pandas.to numeric() es uno de los métodos más utilizados para convertir un argumento a un formato numérico en Pandas.
Ejemplo 1:
Python3
# import pandas library import pandas as pd # dictionary Data = {'Name': ['GeeksForGeeks','Python'], 'Unique ID': ['900','450']} # create a dataframe object df = pd.DataFrame(Data) # convert integer to string df['Unique ID'] = pd.to_numeric(df['Unique ID']) # show the dataframe print (df) print("-"*30) # show the data type # of each columns print (df.dtypes)
Producción :
Ejemplo 2:
Python3
# import pandas library import pandas as pd # dictionary Data = {'Algorithm': ['Graph', 'Dynamic Programming', 'Number Theory', ' Sorting And Searching'], 'Problems': ['62', '110', '40', '55']} # create a dataframe object df = pd.DataFrame(Data) # convert string to an integer df['Problems'] = pd.to_numeric(df['Problems']) # show the dataframe print (df) print("-"*30) # show the data type # of each column print (df.dtypes)
Producción :
Publicación traducida automáticamente
Artículo escrito por shardul_singh_tomar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA