pandas时间计算及类型转换和apply应用

应用背景:

有一组销售单数据,需要计算销售单开单时间到当前日期的时差;取得差异的天数,

计算时差所在时间区间,用于生成透视表。

销售组销售员开单时间时差时间节点
1组员A2022-1-13 15:52
2组员B2022-2-17 14:09
3组员C2022-2-25 14:16
import pandas as pd
import datetime

#读入文件省略,读取后DataFrame的名称为df_A
df_A['时差'] = datetime.date.today()- pd.to_datetime(df_A['开单时间'],format='%Y-%m-%d')
销售组销售员开单时间时差时间节点
1组员A2022-1-13 15:5293 days 08:07:32
2组员B2022-2-17 14:0958 days 09:50:41
3组员C2022-2-25 14:1650 days 10:50:37

*:一开始想对“时差”列通过分列split来获取days前的数字, 但DataFrame获取列后是Series不能使用分列函数,最后得换个方法;

df_A['时差'] = df_A['时差'].astype('timedelta64[D]').astype(float)
销售组销售员开单时间时差时间节点
1组员A2022-1-13 15:5293
2组员B2022-2-17 14:0958
3组员C2022-2-25 14:1650

此时就可用apply函数对“时间节点”进行区间计算 

def getA(df):
    if df>7:
        return '1周以上'
    else:
        return '周内'
df_A['时间节点']=df_A['时差'].apply(getA)
销售组销售员开单时间时差时间节点
1组员A2022-1-13 15:52931周以上
2组员B2022-2-17 14:09581周以上
3组员C2022-2-25 14:16501周以上

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值