"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo convertir las columnas Pandas con valores faltantes a tipos de datos enteros?

¿Cómo puedo convertir las columnas Pandas con valores faltantes a tipos de datos enteros?

Publicado el 2025-03-22
Navegar:334

How Can I Convert Pandas Columns with Missing Values to Integer Data Types?

convirtiendo columnas de pandas con valores faltantes en entero

cuando se trata de marcos de datos de pandas, a menudo es necesario especificar el tipo de datos de ciertas columnas. Sin embargo, si una columna contiene valores faltantes o vacíos (NANS), convirtiéndolo en un tipo entero como 'int' puede presentar desafíos.

Problema encontrado:

para demostrar el problema, aseguramos que tenemos un informe de datos de PANDAS de un archivo csv, con una columna llamada 'id'. However, we need to specify the 'id' column as an integer type.

Error Messages:

When attempting to directly cast the 'id' column to an integer while reading the CSV file, we encounter the following error:

df= pd.read_csv("data.csv", dtype={'id': int})
error: Integer column has NA values

alternativamente, si intentamos convertir el tipo de columna después de leer el archivo CSV, obtenemos:

df= pd.read_csv("data.csv")
df[['id']] = df[['id']].astype(int)
error: Cannot convert NA to integer

Solución:

en Pandas Versión 0.24 en adelante, es posible representar datos enteros con valores faltantes que usan tipos de datos enteros anulables, implementados con Integerray. Para utilizar esta característica:

  1. importar la clase IntegerRArray desde pandas.
from pandas.arrays import IntegerArray
  1. cree un objeto de integerray con el dtype deseado, en este caso, int64.
  2. &] = pd.array ([1, 2, np.nan], dtype = pd.int64dtype ())
arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype())
convierte la columna 'id' en una integerraza usando astype ().
  1. df ['id'] = = df ['id']. Astype ('int64')
utilizando tipos de datos enteros anulables, los pandas pueden manejar columnas enteros con valores faltantes mientras mantienen su tipo de datos previsto.
            
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3