我有一个带有Date列的数据框,我想将这些日期与IF语句中的今天的日期进行比较。
我的数据帧如下:
Date Asset
2020-01-01 Computers
2018-02-01 Apartments
2017-09-03 Houses
2015-02-02 Boats
我正在使用以下代码将其转换为日期时间:
df['Date'] = pd.to_datetime(df['Date'],format='%d%m%Y')
并将今天的日期与数据框中的日期进行比较:
today = datetime.today()
if df['Date'] > today is True:
print(df['Date])
但是我得到了错误->系列的真值是模棱两可的。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
答案 0 :(得分:0)
编写表达式
if df['Date'] > today is True:
python不知道您是否要比较该系列的每个元素与“今天”(将返回另一个布尔值)或整个“今天”(将返回一个单个布尔值,这里就没有意义了。
简而言之,如果要提取日期晚于今天的所有列,则应执行以下操作:
df[df['Date'] > today]
,它将只显示日期晚于今天的数据框。