6
爲了讓它更簡單讓我們假設我有一個熊貓數據框如下。
df = pd.DataFrame([[1.1, 1.1, 2.5, 2.6, 2.5, 3.4,2.6,2.6,3.4], list('AAABBBBAB'), [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3]]).T
df.columns = ['col1', 'col2','col3']
數據框:
col1 col2 col3
0 1.1 A 1.1
1 1.1 A 1.7
2 2.5 A 2.5
3 2.6 B 2.6
4 2.5 B 3.3
5 3.4 B 3.8
6 2.6 B 4
7 2.6 A 4.2
8 3.4 B 4.3
我想這組基於某些條件。該邏輯基於col1 col2值和col3的累積差異:
- 轉到col1並查找其他出現的相同值。
- 在我的情況下,col1的第一個值是'1.1',並且它們在row2處的值也是相同的。
- 然後檢查col2值,如果它們相似,則獲得col 3的累積差值。
- 如果累計差值大於0.5,則將其標記爲新的會話。
- 如果COL1值是相同的,但COL2值是不同的,那麼它們標記爲新的會話
預期輸出:
col1 col2 col3 session
0 1.1 A 1.1 0
1 1.1 A 1.7 1
2 2.5 A 2.5 2
3 2.6 B 2.6 4
4 2.5 B 3.3 3
5 3.4 B 3.8 7
6 2.6 B 4 5
7 2.6 A 4.2 6
8 3.4 B 4.3 7
@unutbu:應該是.. :) –