Cho một khung dữ liệu mà trông như thế nàyPandas: Sự khác nhau giữa giá trị lớn nhất và nhỏ nhất trong nhóm
GROUP VALUE
1 5
2 2
1 10
2 20
1 7
Tôi muốn tính toán độ lệch giữa giá trị lớn nhất và nhỏ nhất trong mỗi nhóm. Tức là, kết quả phải là
GROUP DIFF
1 5
2 18
Cách dễ dàng để thực hiện điều này trong Pandas là gì?
Cách nhanh nhất để thực hiện điều này trong Pandas cho một khung dữ liệu với khoảng 2 triệu hàng và 1 triệu nhóm là gì?
Thành thực mà nói, tôi ngạc nhiên như thế nào tốt hơn đây là hơn 'agg (np.ptp)' đặc biệt là trên một số lượng lớn các nhóm! – piRSquared
Điều gì sẽ xảy ra nếu tôi muốn thực hiện việc này cho từng cột, không chỉ một ('VALUE')? – CPBL
@CPBL: Nếu bạn muốn tìm 'min' và' max' cho tất cả các cột của 'df' (trên' GROUP'), thì chỉ cần xóa '['VALUE']'. Tức là, sử dụng 'df.groupby ('GROUP'). Agg (['max', 'min'])'. Nếu bạn muốn tìm 'min',' max' trên 'GROUP' cho một số chứ không phải tất cả các cột, hãy hạn chế' df' trước: 'df [['GROUP', 'VALUE1', 'VALUE2']]. 'GROUP'). Agg (['max', 'min']) '. – unutbu