如何将日期时间模块正确导入 jupyter 笔记本?

时间:2021-02-02 16:12:57

标签: python datetime jupyter-notebook

我正在尝试导入 datetime 模块,我用它来创建要应用于 pandas 数据框列的函数:

这是目前的代码:

### importing modules ###

import time
from datetime import datetime, date, time, timedelta
import dateutil.relativedelta


### function to return last day of month date ###

def last_day_of_month(date):
    if date.month == 12:
        return date.replace(day=31)
    return date.replace(month=date.month+1, day=1) - datetime.timedelta(days=1)

### function to return a date difference ###

def set_data_loa(data_de_retorno):
    if pd.isnull(data_de_retorno):
        d1 = datetime.now()
        d2 = d1 - dateutil.relativedelta.relativedelta(months=1)
        return last_day_of_month(d2)
    else:
        return data_de_retorno


###################### applying over datetime64 type pandas df column  ##############

input_1['data_para_loa'] = [set_data_loa(data_de_retorno) for data_de_retorno in input_1['data_de_retorno']]

出现下一个错误

<块引用>

AttributeError: type object 'datetime.datetime' 没有属性 'timedelta'

我在 Jupyter Notebook IDE 中运行此代码,

我错过了什么? 如何正确导入 datetime 模块?

2 个答案:

答案 0 :(得分:0)

当您执行 from some_package import some_function 时,您不再需要使用点语法在函数前面加上包名,例如:

from random import choice
choice("ABCD")

对比

import random
random.choice("ABCD")

答案 1 :(得分:0)

您已从 timedelta 导入 datetime。因此,您需要将其引用为 timedelta,而不是 datetime.timedelta。就像在此示例中不能将 date 引用为 datetime.date 一样,因为您从 date 导入了 datetime

相关问题