Cambiar el tipo de datos de una columna o una Serie Pandas

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:

dataframe and its datatypes

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 :

datatypes of dataframe

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:

dataframe and its datatypes

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:

datatypes of dataframe

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:

dataframe and its datatypes

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:

datatypes of dataframe

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:

dataframe and its datatypes

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:

datatypes of dataframe

Publicación traducida automáticamente

Artículo escrito por shivalibhadaniya 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 *