Python | Marco de datos de Pandas.infer_objects()

Python es un excelente lenguaje para realizar análisis de datos, principalmente debido al fantástico ecosistema de paquetes de Python centrados en datos. Pandas es uno de esos paquetes y facilita mucho la importación y el análisis de datos.

La función Pandas dataframe.infer_objects()intenta inferir un mejor tipo de datos para la columna del objeto de entrada. Esta función intenta la conversión suave de columnas con tipo de objeto, dejando sin cambios las columnas que no son objetos y las que no se pueden convertir. Las reglas de inferencia son las mismas que durante la construcción normal de Series/DataFrame.

Sintaxis: DataFrame.infer_objects()
Devuelve: convertido: mismo tipo que el objeto de entrada

Ejemplo #1: Use infer_objects()la función para inferir un mejor tipo de datos.

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.DataFrame({"A":["sofia", 5, 8, 11, 100],
                   "B":[2, 8, 77, 4, 11],
                   "C":["amy", 11, 4, 6, 9]})
  
# Print the dataframe
df

Producción :

Veamos el dtype (tipo de datos) de cada columna en el marco de datos.

# to print the basic info
df.info()

Como podemos ver en la salida, la primera y la tercera columna son de objecttipo. mientras que la segunda columna es de int64tipo. Ahora corte el marco de datos y cree un nuevo marco de datos a partir de él.

# slice from the 1st row till end
df_new = df[1:]
  
# Let's print the new data frame
df_new
  
# Now let's print the data type of the columns
df_new.info()

Producción :

Como podemos ver en la salida, las columnas «A» y «C» son de tipo objeto aunque contienen un valor entero. Entonces, probemos la infer_objects()función.

# applying infer_objects() function.
df_new = df_new.infer_objects()
  
# Print the dtype after applying the function
df_new.info()

Salida:

ahora, si observamos el tipo de cada columna, podemos ver que la columna «A» y «C» ahora son de int64tipo.
 

Ejemplo #2: Use infer_objects()la función para inferir un mejor tipo de datos para el objeto.

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.DataFrame({"A":["sofia", 5, 8, 11, 100], 
                   "B":[2 + 2j, 8, 77, 4, 11],
                   "C":["amy", 11, 4, 6, 9]})
  
# Print the dataframe
df

Veamos el dtype (tipo de datos) de cada columna en el marco de datos.

# to print the basic info
df.info()

Como podemos ver en la salida, la primera y la tercera columna son de objecttipo. mientras que la segunda columna es de complex128tipo. Ahora corte el marco de datos y cree un nuevo marco de datos a partir de él.

# slice from the 1st row till end
df_new = df[1:]
  
# Let's print the new data frame
df_new
  
# Now let's print the data type of the columns
df_new.info()


Como podemos ver en la salida, las columnas «A» y «C» son de tipo objeto aunque contienen un valor entero. Similar es el caso de la columna “B”. Entonces, probemos la infer_objects()función.

# applying infer_objects() function.
df_new = df_new.infer_objects()
  
# Print the dtype after applying the function
df_new.info()

Producción :

Observe, el tipo de d para la columna «B» no cambió. infer_objects()La función intenta hacer una conversión suave dejando sin cambios las columnas que no son objetos y las que no se pueden convertir.

Publicación traducida automáticamente

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