我正在尝试导入 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
模块?
答案 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
。