datetime时间格式的几种常用转化+对时间空值进行判断中遇到的坑isna()和isnull()

I - 时间格式的几种简单转换

import datetime
import pandas as pd
datetime.date.today()

在这里插入图片描述

datetime.date.today().strftime("%Y-%m-%d")

在这里插入图片描述

pd.to_datetime(datetime.date.today())

在这里插入图片描述

II - 对时间进行空值判断时遇到的坑

df = pd.read_excel('../../时间判断测试文档.xlsx')
display(
    df,
    df['实际日期'].isna(),
    df['实际日期'].isnull(),
    pd.isna(df['实际日期']),
    pd.isnull(df['实际日期'])
)

在这里插入图片描述

注:通过上图,我们可以看到【实际日期】是存在空值的,四种方法都可以进行判断空值,但是在下面函数进行判断是,不能使用.isna( )和.isnull( )。而要使用pd.isna( )或pd.isnull( )。

目标:

如果实际日期早于等于期望日期打标签【时间达标】;晚于期日期打标签【时间不达标】

如果实际日期为空,则用期望日期与当前日期进行对比,期望日期已过打标签【时间不达标】未到期望日期打标签【期望日期在未来】

today = pd.to_datetime(datetime.date.today())
def function(a,b):
    """
    a 是期望日期
    b 是实际日期
    """
    if pd.isnull(b):	# 这也也可以写pd.isna(b)
        if a < today:
            return '时间不达标'
        else:
            return '期望时间在未来'
    else:
        if a>=b:
            return "时间达标"
        else:
            return '时间不达标'
df['时间是否达标'] = df.apply(lambda x : function(x['期望日期'],x['实际日期']),axis = 1)

测试文档(免C币)下载地址:https://download.csdn.net/download/weixin_47744974/86725971

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值