我有一个数据框(带有'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
这将是非常有用的查看示例数据 –