tengo un df que quiero reemplazar valores que no son el valor máximo para cada columna a 0.
código:
data = { "A": [1, 2, 3], "B": [3, 5, 1], "C": [9, 0, 1] } df = pd.DataFrame(data)muestra df:
ABC 0 1 3 9 1 2 5 0 2 3 1 1resultado tratando de obtener:
ABC 0 0 0 9 1 0 5 0 2 3 0 0Consejo amable. muchas gracias
Use DataFrame.where con valores max de comparación:
df = df.where(df.eq(df.max()), 0) print(df) ABC 0 0 0 9 1 0 5 0 2 3 0 0Tratar:
df[df!=df.max()] = 0Producción:
ABC 0 0 0 9 1 0 5 0 2 3 0 0