我正在尝试根据特定列中的值删除行集,该行在任何时候都会减少。请假设数据框中有更多的行和列:
date var col_a col_b col_c ...
1/02/20 id_1 3 0 1
1/03/20 id_1 4 1 1
1/04/20 id_1 3 1 2
1/02/20 id_2 0 0 0
1/03/20 id_2 1 2 0
1/04/20 id_2 1 2 0
.
.
.
因此,对于id_1
,col_a
从3-> 4-> 3减小,我想返回此值:
date var col_a col_b col_c ...
1/02/20 id_2 0 0 0
1/03/20 id_2 1 2 0
1/04/20 id_2 1 2 0
.
.
.
因此值可以增加然后减少,但是在任何时候如果减少,我都希望删除var
的整个行集。我当时正在调查is_monotonic
,以查看各列是否在增加/减少,但是不确定如何组合成一个groupby。
答案 0 :(得分:0)
您可以尝试:
set recip = oResponse.Recipients.Add("example@domain.com")
recip.Type = olCC
输出:
s = (df.iloc[:,1:]
.groupby('var').diff()
.lt(0).any(1)
.groupby(df['var']).transform('max')
)
df[~s]