我有一個DataFrame
看起來像這樣蟒蛇熊貓滾動窗口,並重新創建數據幀
df = pd.DataFrame({'user' : ['A', 'A', 'A', 'B', 'B', 'B','B'],
'attritube1' : [0,1,1,1,0,2,9],
'attritube2':[1,2,3,3,0,0,1]})
print(df)
attritube1 attritube2 user
0 0 1 A
1 1 2 A
2 1 3 A
3 1 3 B
4 0 0 B
5 2 0 B
6 9 1 B
我想與長度K個爲每個用戶滾動窗口切片數據,並創建一個新的數據組。例如,如果K = 2,那麼,我想獲得
attritube1 attritube2 user
0 0 1 A
1 1 2 A
---------------------------------
2 1 2 A
3 1 3 A
---------------------------------
4 1 3 B
5 0 0 B
---------------------------------
6 0 0 B
7 2 0 B
--------------------------------
8 2 0 B
9 9 1 B
同樣,如果K = 3,則新的數據幀應該是
attritube1 attritube2 user
0 0 1 A
1 1 2 A
2 1 3 A
--------------------------------
3 1 3 B
4 0 0 B
5 2 0 B
--------------------------------
6 0 0 B
7 2 0 B
8 9 1 B
我們可以假設所有用戶,行數> = K。謝謝!
編輯:想澄清我想重複每個用戶的滾動窗口過程(玩具示例中的A,B)。
我想澄清一下,我想爲每個用戶重複滾動窗口過程(請參閱「用戶」列)。對不起,如果它不是我的原始文章清楚。 – user42361
嗨Stefan,謝謝你的幫助!但是輸出與發佈中顯示的k = 3的樣本輸出不同。 – user42361
看到更新,我認爲新版本給你你正在尋找的。 – Stefan