Prerrequisitos: Pandas
Hay varios casos en los que un marco de datos puede contener infinito como valor. Este artículo analiza cómo podemos realizar un seguimiento de los infinitos en nuestro marco de datos.
Acercarse
- Módulo de importación
- Cree un marco de datos, para este artículo, se hace usando un diccionario. Para incluir infinito en los datos, importe el módulo NumPy y use np.inf para infinito positivo y -np.inf para infinito negativo.
- Utilice los métodos apropiados de los que se mencionan a continuación según sus necesidades.
Método 1: use la función DataFrame.isinf() para verificar si el marco de datos contiene infinito o no. Devuelve valor booleano. Si contiene algún infinito, devolverá True. De lo contrario, devolverá False.
Sintaxis:
isinf(array [, out])
Usando este método en sí mismo, podemos obtener mucha más información sobre la presencia de infinito en nuestro marco de datos:
- Comprobación de infinito como valores
- Contando el número de valores infinitos
- Recuperar el nombre de la columna con infinito como valor (es)
- Recuperar índice/índices de fila con infinito como valor(es)
Ejemplo:
Python3
# Import required libraries import pandas as pd import numpy as np # Create dataframe using dictionary data = {'Student ID': [10, 11, 12, 13, 14], 'Age': [23, 22, 24, 22, 25], 'Weight': [66, 72, np.inf, 68, -np.inf]} df = pd.DataFrame(data) display(df) # checking for infinity print() print("checking for infinity") ds = df.isin([np.inf, -np.inf]) print(ds) # printing the count of infinity values print() print("printing the count of infinity values") count = np.isinf(df).values.sum() print("It contains " + str(count) + " infinite values") # counting infinity in a particular column name c = np.isinf(df['Weight']).values.sum() print("It contains " + str(c) + " infinite values") # printing column name where infinity is present print() print("printing column name where infinity is present") col_name = df.columns.to_series()[np.isinf(df).any()] print(col_name) # printing row index with infinity print() print("printing row index with infinity ") r = df.index[np.isinf(df).any(1)] print(r)
Producción:
Método 2: utilice np.isfinite(dataframe_name) para comprobar la presencia de valores infinitos. Devuelve valor booleano. Devolverá False para valores infinitos y devolverá True para valores finitos.
Sintaxis:
isfinite(array [, out])
Ejemplo:
Python3
# Import required libraries import pandas as pd import numpy as np # Create dataframe using dictionary data = {'Student ID': [10, 11, 12, 13, 14], 'Age': [ 23, 22, 24, 22, 25], 'Weight': [66, 72, np.inf, 68, -np.inf]} df = pd.DataFrame(data) d = np.isfinite(df) display(d)
Producción:
Publicación traducida automáticamente
Artículo escrito por keerthikarathan123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA