Khá phổ biến khi sử dụng lập chỉ mục boolean cho loại tác vụ này. Với phương pháp này, bạn tìm ra cột a
bằng 1
và sau đó tổng hợp các hàng tương ứng của cột b
. Bạn có thể sử dụng loc
để xử lý việc lập chỉ mục:
>>> df.loc[df['a'] == 1, 'b'].sum()
15
Các cách tiếp cận khác là sử dụng groupby
chia dataframe thành nhiều phần theo giá trị trong cột a
. Sau đó bạn có thể tóm tắt từng phần và kéo ra giá trị mà 1 của bổ sung lên đến:
>>> df.groupby('a')['b'].sum()[1]
15
Cách tiếp cận groupby
là chậm hơn nhiều so với sử dụng lập chỉ mục boolean, nhưng rất hữu ích nếu bạn muốn kiểm tra các khoản tiền cho các giá trị khác trong cột a
.
Nguồn
2015-01-30 12:53:51
sử dụng nhóm theo chức năng trong gấu trúc để thực hiện tác vụ này –