簡體   English   中英

確保熊貓滾動窗口函數中的窗口大小恆定

[英]Ensuring constant window size in pandas rolling window function

需要對數據框中每個大小為 2 的滾動窗口進行一些自定義操作。 但是 pandas 中的rolling函數返回一個帶有初始窗口位置和 1 個元素的輸出。 我嘗試設置min_periods ,但在這里沒有幫助。

df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]})

for pairs in df.rolling(2, min_periods=2):
    print(pairs)

     B
0  0.0
     B
0  0.0
1  1.0
     B
1  1.0
2  2.0
     B
2  2.0
3  NaN
     B
3  NaN
4  4.0

索引也不適用於滾動功能。 df.rolling(2)[1:] 出現以下錯誤

TypeError:不可散列的類型:'sl​​ice'

你可以使用numpy的sliding_window_view

np.lib.stride_tricks.sliding_window_view(df.B, 2)

array([[ 0.,  1.],
       [ 1.,  2.],
       [ 2., nan],
       [nan,  4.]])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM