La serie es una array etiquetada unidimensional capaz de contener datos del tipo entero, string, flotante, objetos python, etc. Las etiquetas de los ejes se denominan colectivamente índice.
Veamos el programa para cambiar el tipo de datos de una columna o una Serie en Pandas Dataframe.
Método 1: Usar el método DataFrame.astype() .
Podemos pasar cualquier tipo de datos de Python, Numpy o Pandas para cambiar todas las columnas de un marco de datos a ese tipo, o podemos pasar un diccionario que tenga nombres de columnas como claves y tipos de datos como valores para cambiar el tipo de columnas seleccionadas.
Sintaxis: DataFrame.astype(dtype, copy = True, errors = ‘raise’, **kwargs)
Retorno: emitido: tipo de llamador
Veamos los ejemplos:
Ejemplo 1: El tipo de datos de la columna se cambia a objeto «str».
Python3
# importing the pandas library import pandas as pd # creating a DataFrame df = pd.DataFrame({'srNo': [1, 2, 3], 'Name': ['Geeks', 'for', 'Geeks'], 'id': [111, 222, 333]}) # show the dataframe print(df) # show the datatypes print(df.dtypes)
Producción:
Ahora, cambiando los tipos de datos del marco de datos a string.
Python3
# changing the dataframe # data types to string df = df.astype(str) # show the data types # of dataframe df.dtypes
Salida :
Ejemplo 2: Ahora, cambiemos el tipo de datos de la columna «id» de «int» a «str». Creamos un diccionario y especificamos el nombre de la columna con el tipo de datos deseado.
Python3
# importing the pandas library import pandas as pd # creating a DataFrame df = pd.DataFrame({'No': [1, 2, 3], 'Name': ['Geeks', 'for', 'Geeks'], 'id': [111, 222, 333]}) # show the dataframe print(df) # show the datatypes print(df.dtypes)
Producción:
Ahora, cambie el tipo de datos de la columna ‘id’ a string.
Python3
# creating a dictionary # with column name and data type data_types_dict = {'id': str} # we will change the data type # of id column to str by giving # the dict to the astype method df = df.astype(data_types_dict) # checking the data types # using df.dtypes method df.dtypes
Producción:
Ejemplo 3: Convierta el tipo de datos de la columna «grado» de «flotante» a «int».
Python3
# import pandas library import pandas as pd # dictionary result_data = {'name': ['Alia', 'Rima', 'Kate', 'John', 'Emma', 'Misa', 'Matt'], 'grade': [13.5, 7.1, 11.5, 3.77, 8.21, 21.22, 17.5], 'qualify': ['yes', 'no', 'yes', 'no', 'no', 'yes', 'yes']} # create a dataframe df = pd.DataFrame(result_data) # show the dataframe print(df) #show the datatypes print(df.dtypes)
Producción:
Ahora, convertimos el tipo de datos de la columna «grado» de «flotante» a «int».
Python3
# convert data type of grade column # into integer df.grade = df.grade.astype(int) # show the dataframe print(df) # show the datatypes print(df.dtypes)
Producción:
Método 2: Usar el método Dataframe.apply() .
Podemos pasar pandas.to_numeric, pandas.to_datetime y pandas.to_timedelta como argumento a la función apply() para cambiar el tipo de datos de una o más columnas a numérico, datetime y timedelta respectivamente.
Sintaxis: Dataframe/Series.apply(func, convert_dtype=True, args=())
Retorno: trama de datos/serie después de la función/operación aplicada.
Veamos el ejemplo:
Ejemplo: convertir el tipo de datos de la columna «B» de «string» a «int».
Python3
# importing pandas as pd import pandas as pd # sample dataframe df = pd.DataFrame({ 'A': ['a', 'b', 'c', 'd', 'e'], 'B': [12, 22, 35, '47', '55'], 'C': [1.1, '2.1', 3.0, '4.1', '5.1'] }) # show the dataframe print(df) # show the data types # of all columns df.dtypes
Producción:
Ahora, convertimos el tipo de datos de la columna «B» en un tipo «int».
Python3
# using apply method df[['B']] = df[['B']].apply(pd.to_numeric) # show the data types # of all columns df.dtypes
Producción:
Publicación traducida automáticamente
Artículo escrito por shivalibhadaniya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA