"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 reemplazar valores específicos en una columna del marco de datos de Pandas según las condiciones?

¿Cómo reemplazar valores específicos en una columna del marco de datos de Pandas según las condiciones?

Publicado el 2024-11-06
Navegar:528

How to Replace Specific Values in a Pandas DataFrame Column Based on Conditions?

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
Ú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