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)
回答:
给你提两点建议,速度应该(必须)可以提上去:
- 把要加的时间间隔存成变量
td_day1 = datetime.timedelta(days=1)
,每次使用时用变量td_day1
- 不要使用
DataFrame.apply
,这方法本身虽然方便,但速度没有优势,建议直接用np.where
,比如df['订单日期1'] = np.where(df['订单时间节点'] > 18, df['订单日期'] + td_day1, df['订单日期'])
以上是 python判断一列数据大小,对另一列日期进行处理 的全部内容, 来源链接: utcz.com/p/938182.html