[英]How to apply a threshold to a pandas DataFrame column and output a row outside of the threshold?
[英]Apply a threshold on a Pandas DataFrame column
我有一个看起来像这样的Daframe
In [52]: f
Out[52]:
Date
2015-02-23 12:00:00 0.172517
2015-02-23 13:00:00 0.172414
2015-02-23 14:00:00 0.172516
2015-02-23 15:00:00 0.173261
2015-02-23 16:00:00 0.172921
2015-02-23 17:00:00 0.172371
2015-02-23 18:00:00 0.176374
2015-02-23 19:00:00 0.177480
...
并且我想对该系列应用一个阈值,以便值低于它我只是将阈值的值替换为实际值。
我试图definte一个布尔数据帧,如
Bool = f>阈值
但我不知道该怎么做。 提前致谢。
IIUC然后以下应该工作:
f[f> Threshold] = some_val
或者你可以使用clip_upper
:
f = f.clip_upper(Threshold)
这会将上限值限制为您的阈值
In [147]:
df[df['val'] > 0.175] = 0.175
df
Out[147]:
val
Date
2015-02-23 12:00:00 0.172517
2015-02-23 13:00:00 0.172414
2015-02-23 14:00:00 0.172516
2015-02-23 15:00:00 0.173261
2015-02-23 16:00:00 0.172921
2015-02-23 17:00:00 0.172371
2015-02-23 18:00:00 0.175000
2015-02-23 19:00:00 0.175000
In [149]:
df['val'].clip_upper(0.175)
Out[149]:
Date
2015-02-23 12:00:00 0.172517
2015-02-23 13:00:00 0.172414
2015-02-23 14:00:00 0.172516
2015-02-23 15:00:00 0.173261
2015-02-23 16:00:00 0.172921
2015-02-23 17:00:00 0.172371
2015-02-23 18:00:00 0.175000
2015-02-23 19:00:00 0.175000
Name: val, dtype: float64
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.