我有一个数据框: 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_outliers0 True1 True2 False 3 False 4 True 5 False 我认为即使使用 numpy 也可以完成,但是怎么做呢?
1 回答

绝地无双
TA贡献1946条经验 获得超4个赞
比较DataFrame.gt
与DataFrame.any
检查每行至少一个 True :
df["has_outliers"] = df.gt(500).any(axis=1)
或者计算True
s 并转换为整数:
df["has_outliers"] = df.gt(500).sum(axis=1).astype(bool)
添加回答
举报
0/150
提交
取消