我认为这是一个新问题,因为我在搜索中没有看到过这个问题。 是否可以在pandas数据框中创建倒计时?
我有一个列[A]显示1或0 1是事件发生的日期。 我喜欢创建一个B列,它在事件发生前4天显示倒计时到1,所以它将在事件当天显示5 4 3 2 1和1。
A B
0 0
0 0
0 5
0 4
0 3
0 2
1 1
0 0
0 0
0 0
对此有何建议? :d
答案 0 :(得分:1)
试试这个
s=df.A.iloc[::-1].eq(1).cumsum()
s=s.groupby(s).cumcount()+1
s.mask(s>5,0)
Out[121]:
9 0
8 0
7 0
6 1
5 2
4 3
3 4
2 5
1 0
0 0
Name: A, dtype: int64
df['C']=s.mask(s>5,0)
df
Out[123]:
A B C
0 0 0 0
1 0 0 0
2 0 5 5
3 0 4 4
4 0 3 3
5 0 2 2
6 1 1 1
7 0 0 0
8 0 0 0
9 0 0 0