我编写了以下函数来查找数据集中在我计算的年份之前的最近日期。我无法理解为什么它不能在 for 循环中工作,但它会在循环之外。如果我用硬编码值作为年份来编写它,它会运行得很好。但是,当我尝试将其放入循环中时,会出现以下错误:
'ValueError: max() arg 是一个空序列'
感谢您对抛出此错误的原因以及我可以做些什么来修复它的任何见解。
def max_date_prior_to_year(dates, yr):
return max(dates[dates<pd.to_datetime(str(yr)+'-01-01')])
print(max_date_prior_to_year(df['Date'], 2014))
2013-10-15 00:00:00
for yr in [2011,2012,2013,2014]:
print(max_date_prior_to_year(df['Date'], yr))
ValueError: max() arg is an empty sequence
相关分类