python判断一列数据大小,对另一列日期进行处理

python判断一列数据大小,对另一列日期进行处理

python判断订单时间节点列数据大小,大于18则日期加1天,有1千多万行数据,处理起来很慢,请教各位大神怎么优化。

def timeadd(n):

if n >= 18:

return df4['订单日期'] + datetime.timedelta(days=1)

else:

df4['订单日期']

df4['订单日期1'] = df4.apply(lambda x: timeadd(x['订单时间节点']),axis = 1)


回答:

给你提两点建议,速度应该(必须)可以提上去:

  1. 把要加的时间间隔存成变量 td_day1 = datetime.timedelta(days=1),每次使用时用变量 td_day1
  2. 不要使用 DataFrame.apply,这方法本身虽然方便,但速度没有优势,建议直接用 np.where,比如 df['订单日期1'] = np.where(df['订单时间节点'] > 18, df['订单日期'] + td_day1, df['订单日期'])

以上是 python判断一列数据大小,对另一列日期进行处理 的全部内容, 来源链接: utcz.com/p/938182.html

回到顶部