将定义的间隔限制中的值设置为pandas数据框中列的给定值(fe NaN)

Krz*_*ski 2 python limit dataframe pandas

具有定义的有效值的间隔限制,其中的所有pandas数据帧列值应设置为给定值fe NaN.定义限制和数据帧内容的值可以假定为数字类型.

具有以下限制和数据框架:

min = 2
max = 7
df = pd.DataFrame({'a': [5, 1, 7, 22],'b': [12, 3 , 10, 9]})

    a   b
0   5  12
1   1   3
2   7  10
3  22   9
Run Code Online (Sandbox Code Playgroud)

设置列限制a将导致:

     a   b
0    5  12
1  NaN   3
2    7  10
3  NaN   9
Run Code Online (Sandbox Code Playgroud)

WeN*_*Ben 6

使用wherebetween

df.a=df.a.where(df.a.between(min,max),np.nan)
df
Out[146]: 
     a   b
0  5.0  12
1  NaN   3
2  7.0  10
3  NaN   9
Run Code Online (Sandbox Code Playgroud)

要么 clip

df.a.clip(min,max)
Out[147]: 
0    5.0
1    NaN
2    7.0
3    NaN
Name: a, dtype: float64
Run Code Online (Sandbox Code Playgroud)