我有一个pd Dataframe
pd.DataFrame({'day': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'A': [1, 1, 1, 0, 0,0, 1, 1, 0, 0],
'B': [7, 8, 4, 3, 5, 6, 3, 1, 4, 5],})
我想做一个滑动窗口,只要列的值是1,就找到最大值,一旦值变为0,就找到那些0的最大值。下面是所需输出:
pd.DataFrame({'day': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'A': [1, 1, 1, 0, 0,0, 1, 1, 0, 0],
'B': [7, 8, 4, 3, 5, 6, 3, 1, 4, 5],
'Output': [8, 8, 8, 6, 6, 6, 3, 3, 5, 5 ]})
1条答案
按热度按时间mbzjlibv1#
通过与移位值和
Series.cumsum
进行比较来创建A
的连续组,然后传递到GroupBy.transform
和max
: