为了账号安全,请及时绑定邮箱和手机立即绑定

比较 csv 文件的日期列与今天的日期

比较 csv 文件的日期列与今天的日期

拉丁的传说 2022-07-19 15:51:45
如果日期大于或小于今天,我需要将我的大数据的日期与今天的日期进行比较以计算另一个列值。我的代码如下,但是我不断收到错误!我已经尝试过Timestamp.now(),但我的 python 3.6 无法识别它。import datetimedef midspread_calcs():    for row in df_midspread:        if df_midspread['Date']<datetime.datetime.now():           df_midspread['Midspread']= df_midspread.Oldrate*df_midspread.Value        else:           df_midspread['Midspread']= df_midspread.Newrate*df_midspread.Value result = midspread_calcs()
查看完整描述

3 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

感谢您的建议,现在可以使用 :) df_midspread['Date'] 中的行:


    if row<datetime.datetime.now():

       df_midspread['Midspread']= df_midspread.Oldrate*df_midspread.Value

    else:

       df_midspread['Midspread']= df_midspread.Newrate*df_midspread.Value 


查看完整回答
反对 回复 2022-07-19
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

检查 db_midspread['Date'] 的日期时间格式是否正确。你的逻辑是正确的

如果它不使用以下代码:最简单的方法是使用 to_datetime:

db_midspread['Date'] = pd.to_datetime(db_midspread['Date'])```


查看完整回答
反对 回复 2022-07-19
?
达令说

TA贡献1821条经验 获得超6个赞

第一眼看到的一些重大问题:


1-您的 for 循环命名错误


    for row in df_midspread:

        if row['Date']<datetime.datetime.now():

           row['Midspread']= row.Oldrate*row.Value

        else:

           row['Midspread']= row.Newrate*row.Value

2-您调用了函数并将其分配给结果,但您的函数没有return.


3-您应该确保df_midspread['Date']是日期时间。


查看完整回答
反对 回复 2022-07-19
  • 3 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号