删除具有减少值的行

时间:2018-06-18 18:21:33

标签: python pandas

我正在研究当Y增加时变量X会发生什么。我有一个数据框,我想保留Y增加至少2个月的数据。

是否可以遍历数据帧并删除Y的减少行?

date    | X | Y
---------------
1-2017  | 2 | 1
2-2017  | 2 | 2
3-2017  | 2 | 3
4-2017  | 2 | 4
5-2017  | 2 | 5
6-2017  | 2 | 4
7-2017  | 2 | 3
8-2017  | 2 | 1
9-2017  | 2 | 1
10-2017 | 2 | 4
11-2017 | 2 | 7
12-2017 | 2 | 1
13-2017 | 2 | 1

剥离减少日期后:

date    | X | Y
---------------
1-2017  | 2 | 1
2-2017  | 2 | 2
3-2017  | 2 | 3
4-2017  | 2 | 4
5-2017  | 2 | 5
9-2017  | 2 | 1
10-2017 | 2 | 4
11-2017 | 2 | 7

1 个答案:

答案 0 :(得分:1)

你需要:

df.loc[((df['Y']-df['Y'].shift(-1))<0) | ((df['Y']-df['Y'].shift(1))>0)]

输出:

     date   X   Y   
0   1-2017  2   1   
1   2-2017  2   2   
2   3-2017  2   3   
3   4-2017  2   4   
4   5-2017  2   5   
8   9-2017  2   1   
9   10-2017 2   4   
10  11-2017 2   7