尝试引入动态变量会导致顺序错误

Attempting to introduce dynamic variables causes a toordinal error

我正在努力使图表的生成更加动态,以便其他用户可以从我的代码中获得更多价值。

目前,我这样做(以及它的变体)来制作各种图表:

date_min = datetime.strptime('25/05/22 08:00:00', '%d/%m/%y %H:%M:%S')
date_max = datetime.strptime('25/05/22 09:15:00', '%d/%m/%y %H:%M:%S')
plt.xlim(date_min,date_max)

这非常有效,但需要人们滚动浏览代码以单独更改数据。

我试图做的是改变它,以便人们在代码的开头,所以他们所要做的就是运行代码和所有图表。

我试图通过将 date_min 变量更改为此来增加一些活力:

date_min = ''.join([datetime.strptime(target_date, '%d/%m/%y').strftime('%Y-%m-%d'), ' ', time_min])

然而,当我 运行 代码时,它在以下位置出错:

plt.xlim(date_min,date_max)

并显示以下错误消息:

AttributeError: 'numpy.str_' object has no attribute 'toordinal'

考虑到打印两个 date_min 代码的输出这一事实,这看起来很奇怪,它们看起来具有相同的结构。

有谁知道我为什么会遇到这个错误?

为了记录 target_date 是 '25/05/22'(然后转换为正确的格式),time_min 是 '08:00:00'。

感谢您的帮助。

试试这个:

date_min = datetime.strptime(f"{target_date} {time_min}", "%d/%m/%y %H:%M:%S")
date_max = datetime.strptime(f"{target_date} {time_max}", "%d/%m/%y %H:%M:%S")

plt.xlim(date_min,date_max)

(假设target_datetime_mintime_max都是字符串)