Veamos cómo cambiar el tipo de columna en Pandas DataFrames. Hay diferentes formas de cambiar el tipo de datos para una o más columnas en Pandas Dataframe.
Método 1: Cambiar el tipo de columna en pandas usando DataFrame.astype()
Marco de datos.astype()
Python3
# importing pandas as pd import pandas as pd # sample dataframe df = pd.DataFrame({ 'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e'], 'C': [1.1, '1.0', '1.3', 2, 5]}) # using dictionary to convert specific columns convert_dict = {'A': int, 'C': float } df = df.astype(convert_dict) print(df.dtypes)
Producción:
Método 2: cambie el tipo de columna a un objeto de string usando 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.
Python3
# importing pandas as pd import pandas as pd # sample dataframe df = pd.DataFrame({ 'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e'], 'C': [1.1, '1.0', '1.3', 2, 5]}) # converting all columns to string type df = df.astype(str) print(df.dtypes)
Producción:
Método 3: Cambiar el tipo de columna en pandas usando DataFrame.apply()
Podemos pasar pandas.to_numeric, pandas.to_datetime y pandas.to_timedelta como argumentos para aplicar la función apply() para cambiar el tipo de datos de una o más columnas a numérico, DateTime y delta de tiempo respectivamente.
Python3
# importing pandas as pd import pandas as pd # sample dataframe df = pd.DataFrame({ 'A': [1, 2, 3, '4', '5'], 'B': ['a', 'b', 'c', 'd', 'e'], 'C': [1.1, '2.1', 3.0, '4.1', '5.1']}) # using apply method df[['A', 'C']] = df[['A', 'C']].apply(pd.to_numeric) print(df.dtypes)
Producción:
Método 4: Cambiar el tipo de columna en pandas usando DataFrame.infer_objects()
Este método intenta una conversión suave infiriendo el tipo de datos de las columnas de tipo ‘objeto’. Las columnas no objeto y no convertibles se dejan sin cambios.
Python3
# importing pandas as pd import pandas as pd # sample dataframe df = pd.DataFrame({ 'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e'], 'C': [1.1, 2.1, 3.0, 4.1, 5.1] }, dtype='object') # converting datatypes df = df.infer_objects() print(df.dtypes)
Producción:
Método 5: Cambiar el tipo de columna en pandas usando convert_dtypes()
El método convert dtypes() devuelve un nuevo DataFrame con el tipo de datos de cada columna cambiado al mejor .
Python3
import pandas as pd data = { "name": ["Aman", "Hardik", pd.NA], "qualified": [True, False, pd.NA] } df = pd.DataFrame(data) print("Original_dtypes:") print(df.dtypes) newdf = df.convert_dtypes() print("New_dtypes:") print(newdf.dtypes)
Producción:
Original_dtypes: name object qualified object dtype: object New_dtypes: name string qualified boolean dtype: object
Publicación traducida automáticamente
Artículo escrito por NishitJain y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA