Saltar al contenido

Establecer el valor máximo (límite superior) en pandas DataFrame

Buscamos en todo el mundo on line y así de esta forma brindarte la solución para tu duda, si continúas con preguntas déjanos tu pregunta y responderemos con gusto.

Solución:

Puedes usar clips.

Aplicar a todas las columnas del marco de datos:

df.clip(upper=15)

De lo contrario, aplique a las columnas seleccionadas como se ve aquí:

df.clip(upper=pd.Series('a': 15), axis=1)

Supongo que puedes hacer:

maxVal = 15
df['a'].where(df['a'] <= maxVal, maxVal)      # where replace values with other when the 
                                              # condition is not satisfied

#0    10
#1    12
#2    15
#3    15
#4    15
#5    15
#Name: a, dtype: int64

O:

df['a'][df['a'] >= maxVal] = maxVal

numpy.clip es una alternativa buena y rápida.

df

    a
0  10
1  12
2  15
3  17
4  19
5  20

np.clip(df['a'], a_max=15, a_min=None)

0    10
1    12
2    15
3    15
4    15
5    15
Name: a, dtype: int64

# Or,
np.clip(df['a'].to_numpy(), a_max=15, a_min=None)
# array([10, 12, 15, 15, 15, 15])

Desde v0.21 en adelante, también puede usar DataFrame.clip_upper.

Nota

Este método (junto con clip_lower) ha quedado obsoleto desde v0.24 y se eliminará en una versión futura.

df.clip_upper(15)
# Or, for a specific column,
df['a'].clip_upper(15)

    a
0  10
1  12
2  15
3  15
4  15
5  15

De manera similar, si solo desea establecer el límite inferior, use DataFrame.clip_lower. Estos métodos también están disponibles en Series objetos.

Recuerda que tienes concesión de agregar una reseña si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *