Python 环路中的滚动滤波器

Python 环路中的滚动滤波器,python,pandas,Python,Pandas,我试图使用以下代码在数据帧(500行10列)上运行滚动过滤器,但它给了我一个错误。有人能告诉我这里有什么问题吗 df[(df['Y']>0.0)和(df['X']这很好用。当我在for循环中对这样的列使用它时 for col in df.columns: df[(df['Y'] > 0.0) & (df[col] < 0.0)][col] 对于df.列中的列: df[(df['Y']>0.0)和(df[col]0.0)和(df[0:10]['X']给出此错误“索引

我试图使用以下代码在数据帧(500行10列)上运行滚动过滤器,但它给了我一个错误。有人能告诉我这里有什么问题吗

df[(df['Y']>0.0)和(df['X']<0.0]['X'].
--->这很好用。当我在for循环中对这样的列使用它时

for col in df.columns:
     df[(df['Y'] > 0.0) & (df[col] < 0.0)][col]
对于df.列中的列:
df[(df['Y']>0.0)和(df[col]<0.0)][col]
也很好用

但当我为这样的行插入位置时
df[(df[0:10]['Y']>0.0)和(df[0:10]['X']<0.0]['X'].
-->给出此错误“索引错误:作为索引器提供的不可对齐的布尔序列(布尔序列和索引对象的索引不匹配)。”

选择[0:10]行的原因是因为我想在for循环中使用它,这样在任何一天,我都只能得到过去10天的筛选结果。

有更好的方法吗?谢谢你的帮助。谢谢。

(df[0:10]['Y']>0.0)和(df[0:10]['X']==0.0)是pandas.core.series.series

这个系列的尺寸是10码

但df的尺寸不是10

所以你可以这样改变df的大小

for col in df.columns:
     df[(df['Y'] > 0.0) & (df[col] < 0.0)][col]
df[0:10][(df[0:10]['Y']>0.0)和(df[0:10]['X']==0.0]['X']