Python 基于一系列数据筛选行

Python 基于一系列数据筛选行,python,pandas,Python,Pandas,我一直面临筛选列中的值的问题。我有一个数据框(数据),它看起来像下面的那个 Index Value 2019-11-22 00:00:00 0.0 2019-11-22 00:05:00

我一直面临筛选列中的值的问题。我有一个数据框(数据),它看起来像下面的那个

 Index                                                            Value
2019-11-22 00:00:00                                                0.0  
2019-11-22 00:05:00                                                1.0  
2019-11-22 00:10:00                                                2.0  
2019-11-22 00:15:00                                                3.0  
2019-11-22 00:20:00                                                4.0  
2019-11-22 00:25:00                                                5.0  
2019-11-22 00:30:00                                                6.0  
2019-11-22 00:35:00                                                7.0  
2019-11-22 00:40:00                                                8.0  
2019-11-22 00:45:00                                                0.0  
2019-11-22 00:50:00                                                0.0  
2019-11-22 00:55:00                                                1.0  
2019-11-22 01:00:00                                                2.0  
2019-11-22 01:05:00                                                3.0  
2019-11-22 01:10:00                                                4.0  
2019-11-22 01:15:00                                                5.0  
我希望保留大于5的值序列,并希望将所有其他值赋值为零。例如,如果值为1-5,则5之前的所有值都应设置为零,如果有8行值为1-8,则代码应保持原样

 Index                                                            Value
2019-11-22 00:00:00                                                0.0  
2019-11-22 00:05:00                                                1.0  
2019-11-22 00:10:00                                                2.0  
2019-11-22 00:15:00                                                3.0  
2019-11-22 00:20:00                                                4.0  
2019-11-22 00:25:00                                                5.0  
2019-11-22 00:30:00                                                6.0  
2019-11-22 00:35:00                                                7.0  
2019-11-22 00:40:00                                                8.0  
2019-11-22 00:45:00                                                0.0  
2019-11-22 00:50:00                                                0.0  
2019-11-22 00:55:00                                                0.0  
2019-11-22 01:00:00                                                0.0  
2019-11-22 01:05:00                                                0.0  
2019-11-22 01:10:00                                                0.0  
2019-11-22 01:15:00                                                0.0  
当我尝试

    data[data<5]=0
data[data试试这个:

filter=data[“Value”]。其中(data[“Value”]>5,0)
索引_,其中_6=filter[filter==6]。索引
对于索引_和_6中的idx:
过滤器[idx-5:idx]=[1,2,3,4,5]
打印(过滤器)
让我们试试这个:

df = pd.read_clipboard(index_col=0, sep='\s\s+')

df.index = pd.to_datetime(df.index)

grp = df['Value'].diff().lt(0).cumsum()

df_out = df.where(df.groupby(grp)['Value'].transform('max').gt(5), 0)
print(df_out)
输出:

                     Value
Index                     
2019-11-22 00:00:00    0.0
2019-11-22 00:05:00    1.0
2019-11-22 00:10:00    2.0
2019-11-22 00:15:00    3.0
2019-11-22 00:20:00    4.0
2019-11-22 00:25:00    5.0
2019-11-22 00:30:00    6.0
2019-11-22 00:35:00    7.0
2019-11-22 00:40:00    8.0
2019-11-22 00:45:00    0.0
2019-11-22 00:50:00    0.0
2019-11-22 00:55:00    0.0
2019-11-22 01:00:00    0.0
2019-11-22 01:05:00    0.0
2019-11-22 01:10:00    0.0
2019-11-22 01:15:00    0.0
​

data[data['Value']>5]=0
?这将把5以上的所有值都指定为零。我想将整个系列保持在1-8之间什么定义了“值系列”在你的专栏中?你能重新措辞吗?你想保持第一个升序,当你达到5时,然后开始将每个少于5个元素转换为零。正确吗?更新了问题以获得clarityDone!谢谢你的帮助
                     Value
Index                     
2019-11-22 00:00:00    0.0
2019-11-22 00:05:00    1.0
2019-11-22 00:10:00    2.0
2019-11-22 00:15:00    3.0
2019-11-22 00:20:00    4.0
2019-11-22 00:25:00    5.0
2019-11-22 00:30:00    6.0
2019-11-22 00:35:00    7.0
2019-11-22 00:40:00    8.0
2019-11-22 00:45:00    0.0
2019-11-22 00:50:00    0.0
2019-11-22 00:55:00    0.0
2019-11-22 01:00:00    0.0
2019-11-22 01:05:00    0.0
2019-11-22 01:10:00    0.0
2019-11-22 01:15:00    0.0
​