我有2个数据框,df1:
ID Created Date Days_Diff
L-22 2016-03-24 220
L-25 2016-02-12 200
DF2:
ID Closed Date
L-22 2017-01-03
L-25
目标是重新计算Days_Diff,因为它没有确切的值。 所以我现在做了以下事情:
df1['Days_Diff2'] = [int(i.days) for i in (df2['Closed date'] - df1['Created Date'])
问题如下:有些ID没有关闭日期,因此无法进行计算(我想我会有NaT)。如果可以计算Days_Diff2,我想有Days_Diff = Days_Diff2,如果没有,那么Days_Diff保持不变。
有可能吗?任何技巧或扭曲都可以吗?我需要一个职业选手:D
谢谢
编辑:检查上面的示例,我想:df1:
ID Created Date Days_Diff Days_Diff2
L-22 2016-03-24 220 (2017-01-03 - 2016-03-24)
L-25 2016-02-12 200 200
答案 0 :(得分:0)
有一种可能的方法,虽然没有更多的代码,但很难看到。您可以使用try和except来实现,但是您需要将代码分开,以便依次执行每个ID,即
try:
#The code that you normally want to run
except:
#The code that you want to run if it fails - i.e. if you have a NaT, it will then do a different calculation
如果没有更多代码,这就像我说的那样......