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

Comparing date column of the csv file to today date

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

我的代码如下,但是我总是出错!

我试过Timestamp.now()但是我的python3.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()

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

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

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

一些乍一看很厉害的问题:

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'] 是日期时间。

感谢您的建议,现在有效:) 对于 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