Pandas DataFrame: reemplazo de valor objetivo basado en condiciones
En Pandas, a menudo es necesario modificar valores específicos dentro de un DataFrame según ciertos criterios . Si bien un enfoque común es usar loc para seleccionar filas, es crucial comprender cómo apuntar con precisión a una columna específica para modificar el valor.
Considere el siguiente DataFrame, donde deseamos reemplazar valores en la 'Primera temporada' columna que excede 1990 con el número entero 1:
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1996 326 5 San Franciso 49ers 1950 1003
Un intento inicial utilizando solo la función loc resultó en reemplazar todos los valores en las filas seleccionadas en lugar de únicamente la columna de destino. Para rectificar esto, debemos especificar explícitamente la columna 'Primera temporada' como segundo argumento para loc:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
Este enfoque específico garantiza que solo los valores de la columna 'Primera temporada' que cumplan la condición se reemplacen por 1, sin afectar las otras columnas.
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 1950 1003
Como alternativa, si el resultado deseado es un indicador booleano, puede emplear la condición para crear una serie booleana y convertirla a números enteros, donde Verdadero y Falso se traducen en 1 y 0, respectivamente. :
df['First Season'] = (df['First Season'] > 1990).astype(int)
Este enfoque produce un DataFrame con valores actualizados:
Team First Season Total Games 0 Dallas Cowboys 0 894 1 Chicago Bears 0 1357 2 Green Bay Packers 0 1339 3 Miami Dolphins 0 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 0 1003
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