我的输入是df
:
COLUMN_1 COLUMN_2 COLUMN_3 COLUMN_4
0 0 1 0 2
1 1 1 2 3
2 1 2 3 2
3 1 2 4 5
4 4 5 8 8
我希望我可以隐藏(水平地,从左到非包括右)差值等于1的单调序列.例如,如果我们在一行中有[4, 5, 8, 8]
个(像上一个),那么相关的序列是[4, 5)
.因此,我们需要使用emty字符串隐藏数字4
.
我的预期输出是:
COLUMN_1 COLUMN_2 COLUMN_3 COLUMN_4
0 1 0 2
1 1 3
2 3 2
3 2 5
4 5 8 8
解释:
我try 了下面的代码,但我没有找到正确的方向,因为我得到了一个奇怪的布尔数据帧.
df.diff(axis=1).eq(1).iloc[:, ::-1].cummax(axis=1).replace(True, '').iloc[:, ::-1]