我有一个熊猫数据框测向下降它有两个日期列连接日期和终止日期。 我想得到终止日期和加入日期之间的差值(以天为单位)。但是在终止日期“Not terminated”中有一个文本值。 因此,我试图把它转换成今天的日期,然后得到差异。下面是我尝试转换的代码
import time
today=time.strftime(("%Y-%m-%d"))
df_drop['TerminatedDate_new'] = [today if x=='Not_Terminated' else df_drop['TerminatedDate'] for x in df_drop['TerminatedDate']]
虽然它给出了正确的答案(今天)对于“Not\u Terminated”行,但是对于日期值,它给出了整个df\u drop['TerminatedDate']列,而不是现有的日期(代码的其他部分)。
如何更改它,使其选择相同的原始数据并给出现有的日期值?你知道吗
也有简单的方法来获得差异,而无需单独计算df\u drop['TerminatedDate\u new']
你的代码有点长。更好的方法是
如果不想替换旧列,可以将其保存到新列。你知道吗
代码的问题是这部分
else df_drop['TerminatedDate'] for x
,因为它用整列替换了a单元格。它应该是else x for x
。你知道吗如果您想在一个操作中获得差异,那么必须创建一个自定义函数并按行应用它。你知道吗
相关问题 更多 >
编程相关推荐