8
Hãy nói rằng chúng ta có DataFrame gấu trúc sau:Tính toán số lượng các giá trị tương đương cụ thể liên tục theo một cách vectorized trong gấu trúc
In [1]:
import pandas as pd
import numpy as np
df = pd.DataFrame([0, 1, 0, 0, 1, 1, 0, 1, 1, 1], columns=['in'])
df
Out[1]:
in
0 0
1 1
2 0
3 0
4 1
5 1
6 0
7 1
8 1
9 1
Làm thế nào để đếm số lượng những người liên tiếp một cách vectorized trong gấu trúc? Tôi muốn có kết quả như sau:
in out
0 0 0
1 1 1
2 0 0
3 0 0
4 1 1
5 1 2
6 0 0
7 1 1
8 1 2
9 1 3
Thứ gì đó giống như hoạt động cumsum được đặt lại trên một điều kiện cụ thể.
Fair play. Bị đập đầu của tôi chống lại điều này trong 40 phút: P – Ffisegydd
@Ffisegydd Tương tự ở đây :-), nhưng tôi có cảm giác ai đó đã yêu cầu nhóm tương đương 'itertools.groupby' ở Pandas ở đâu đó. –
Vâng tôi biết tôi muốn nó, chỉ cần không bao giờ làm phiền Google nó> _ < – Ffisegydd