Tengo un DataFrame simple como el siguiente:
Quiero seleccionar todos los valores de la columna 'Primera temporada' y reemplazar los que están por encima de 1990 por 1. En este ejemplo, solo Baltimore Ravens tendría el 1996 reemplazado por 1 (manteniendo el resto de los datos intactos).
He usado lo siguiente:
df.loc[(df['First Season'] > 1990)] = 1
Pero, reemplaza todos los valores en esa fila por 1, y no solo los valores en la columna 'Primera temporada'.
¿Cómo puedo reemplazar solo los valores de esa columna?
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
. Lo que estoy tratando de hacer es básicamentedf['A'] = np.where(df['B'] in some_values, df['A']*2, df['A]
. ¿Alguien tiene una idea sobre esto?Es extraño que nadie tenga esta respuesta, la única parte faltante de su código es la ['Primera temporada'] justo después de df y simplemente quite sus llaves dentro.
fuente
para una sola condición, es decir.
( 'employrate'] > 70 )
utilizar este:
por lo tanto, la sintaxis aquí es:
Para múltiples condiciones, es decir.
(df['employrate'] <=55) & (df['employrate'] > 50)
utilizar este:
por lo tanto, la sintaxis aquí es:
fuente
Explicación:
df.loc
toma dos argumentos, 'índice de fila' e 'índice de columna'. Estamos verificando si el valor es mayor que 27 de cada valor de fila, en la columna "Primera temporada" y luego lo reemplazamos con 1.fuente