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

如果日期大于或小于今天,我需要将我的大数据的日期与今天的日期进行比较以计算另一个列值。


我的代码如下,但是我不断收到错误!


我已经尝试过Timestamp.now(),但我的 python 3.6 无法识别它。


import datetime

def 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()



拉丁的传说
浏览 80回答 3
3回答

慕哥6287543

感谢您的建议,现在可以使用 :) df_midspread['Date'] 中的行:&nbsp; &nbsp; if row<datetime.datetime.now():&nbsp; &nbsp; &nbsp; &nbsp;df_midspread['Midspread']= df_midspread.Oldrate*df_midspread.Value&nbsp; &nbsp; else:&nbsp; &nbsp; &nbsp; &nbsp;df_midspread['Midspread']= df_midspread.Newrate*df_midspread.Value&nbsp;

慕婉清6462132

检查 db_midspread['Date'] 的日期时间格式是否正确。你的逻辑是正确的如果它不使用以下代码:最简单的方法是使用 to_datetime:db_midspread['Date']&nbsp;=&nbsp;pd.to_datetime(db_midspread['Date'])```

达令说

第一眼看到的一些重大问题:1-您的 for 循环命名错误&nbsp; &nbsp; for row in df_midspread:&nbsp; &nbsp; &nbsp; &nbsp; if row['Date']<datetime.datetime.now():&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;row['Midspread']= row.Oldrate*row.Value&nbsp; &nbsp; &nbsp; &nbsp; else:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;row['Midspread']= row.Newrate*row.Value2-您调用了函数并将其分配给结果,但您的函数没有return.3-您应该确保df_midspread['Date']是日期时间。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python