我有一個數據框: 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
提交
取消