gpt4 book ai didi

python - 时间戳对象没有属性 dt

转载 作者:行者123 更新时间:2023-12-04 11:18:38 25 4
gpt4 key购买 nike

我试图通过基于日期列中的值的函数转换数据框中的新列,但收到一条错误消息,指出“时间戳对象没有属性 dt”。但是,如果我在函数之外运行它,则 dt 属性可以正常工作。
任何指导将不胜感激。
此代码运行没有问题:

sample = {'Date': ['2015-07-02 11:47:00', '2015-08-02 11:30:00']}
dftest = pd.DataFrame.from_dict(sample)
dftest['Date'] = pd.to_datetime(dftest['Date'])
display(dftest.info())
dftest['year'] = dftest['Date'].dt.year
dftest['month'] = dftest['Date'].dt.month
这段代码给了我错误信息:
sample = {'Date': ['2015-07-02 11:47:00', '2015-08-02 11:30:00']}
dftest = pd.DataFrame.from_dict(sample)
dftest['Date'] = pd.to_datetime(dftest['Date'])
def CALLYMD(dftest):
if dftest['Date'].dt.month>9:
return str(dftest['Date'].dt.year) + '1231'
elif dftest['Date'].dt.month>6:
return str(dftest['Date'].dt.year) + '0930'
elif dftest['Date'].dt.month>3:
return str(dftest['Date'].dt.year) + '0630'
else:
return str(dftest['Date'].dt.year) + '0331'


dftest['CALLYMD'] = dftest.apply(CALLYMD, axis=1)
最后,我愿意接受任何关于如何改进此代码的建议,因为我仍在学习。

最佳答案

我猜你应该在第二种情况下删除 .dt 。当你应用它应用于每个元素时,当它是一组数据时需要 .dt ,如果它只是一个元素你不需要 .dt 否则它会引发
{AttributeError: 'Timestamp' 对象没有属性 'dt'}
引用:https://stackoverflow.com/a/48967889/13720936

关于python - 时间戳对象没有属性 dt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62803633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com