Tôi có một tập lệnh python tạo danh sách danh sách dữ liệu thời gian hoạt động và hiệu suất của máy chủ, trong đó mỗi danh sách phụ (hoặc 'hàng') chứa các số liệu thống kê của một cụm cụ thể. Ví dụ, được định dạng độc đáo, nó trông giống như thế này:
------- ------------- ------------ ---------- -------------------
Cluster %Availability Requests/Sec Errors/Sec %Memory_Utilization
------- ------------- ------------ ---------- -------------------
ams-a 98.099 1012 678 91
bos-a 98.099 1111 12 91
bos-b 55.123 1513 576 22
lax-a 99.110 988 10 89
pdx-a 98.123 1121 11 90
ord-b 75.005 1301 123 100
sjc-a 99.020 1000 10 88
...(so on)...
Vì vậy, ở dạng danh sách, nó có thể trông giống như:
[[ams-a,98.099,1012,678,91],[bos-a,98.099,1111,12,91],...]
Câu hỏi của tôi:
- Cách tốt nhất để xác định các ngoại lệ trong mỗi cột là gì? Hay những ngoại lệ không nhất thiết là cách tốt nhất để tấn công vấn đề tìm kiếm 'tính xấu'?
Trong dữ liệu trên, tôi chắc chắn muốn biết về bos-b và ord-b, cũng như am-a vì tỷ lệ lỗi của nó rất cao, nhưng những cái khác có thể bị loại bỏ. Tùy thuộc vào cột, vì cao hơn không nhất thiết là xấu hơn, cũng không thấp hơn, tôi đang cố gắng tìm ra cách hiệu quả nhất để làm điều này. Có vẻ như numpy được đề cập rất nhiều cho loại công cụ này, nhưng không chắc bắt đầu từ đâu với nó (đáng buồn thay, tôi nhiều sysadmin hơn thống kê ...). Khi tôi hỏi tại Stack Overflow, một người nào đó đã đề cập đến việc sử dụng chức năng phát quang của numpy và loại bỏ bất cứ thứ gì trên phần trăm thứ 99 - điều đó có vẻ là một ý tưởng tốt?
(Đăng chéo từ stackoverflow, tại đây: /programming/4606288 )