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:
from pandas.arrays import IntegerArray
arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype())convierte la columna 'id' en una integerraza usando astype ().
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