我有一個數據框(帶有'a','b','c'列),我正在做一個滾動窗口。熊貓:如何在滾動窗口中選擇一列
我希望能夠過濾使用其中一列的滾動窗口中像下面
df.rolling(len(s),min_periods=0).apply(lambda x: x[[x['a']>10][0] if len(x[[x['a']>10]]) >=0 else np.nan)
上面的行的目的是在以選擇第一行的應用功能(說「A」) 'a'列的值大於10的滾動窗口。如果沒有這樣的行,則返回nan。
不過,我不能這樣做,收到以下錯誤
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
這意味着我不能用這種語法在所有訪問各列。 有沒有其他方式做這種事情?
您是否檢查過x [[x ['a']> 10] [0]'是什麼? –
@AndrewL顯然我不允許訪問'a'列。錯誤是指索引只能是整數,切片(':'),省略號('...'),numpy.newaxis('無')和整數或布爾數組。 – ishan3243
這將是非常有用的查看示例數據 –