特殊过滤器熊猫数据框

我有一个数据框:


   BPR_free_speed  BPR_speed  Volume  time_normalised  free_capacity  

0           17.88  15.913662     580         1.593750          475.0  

1           17.88  15.865198     588         2.041667          475.0  

2           17.88  16.511613     475         0.666667          475.0  

3           17.88  16.882837     401         1.091458          467.0  

4           99999  16.703004     438         1.479167          467.0  

5           17.88  16.553928     467         0.960417          467.0  

如何在特殊条件下获得系列?我想找出异常值并将它们放入系列中df["has_outliers"],例如如果某行在任何列中的值超过 550,则为 True,否则为 False。


这个数据帧的输出应该是


     has_outliers

0           True

1           True

2           False 

3           False 

4           True 

5           False 

我认为即使使用 numpy 也可以完成,但是怎么做呢?


九州编程
浏览 180回答 1
1回答

绝地无双

比较DataFrame.gt与DataFrame.any检查每行至少一个 True :df["has_outliers"] = df.gt(500).any(axis=1)或者计算Trues 并转换为整数:df["has_outliers"] = df.gt(500).sum(axis=1).astype(bool)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python