1

我正在尝试使用 PVLib-Python 命令model.get_data(longitude, latitude, start, end)model.get_processed_data(latitude, longitude, start, end)(where model = GFS()) 访问预测数据,但出现此错误:TypeError: <class 'cftime._cftime.DatetimeGregorian'> is not convertible to datetime

我已经使用了许多版本的 PVLib-Python,但还没有工作。另外,我检查了官方文档,但它们在文档中出现了相同的错误(本文的第 121 至 124 页https://readthedocs.org/projects/cwhanse-pvlib-python/downloads/pdf/latest/)。

下面是一些基本代码:

import pandas as pd
import datetime
from pvlib.forecast import GFS, HRRR_ESRL, NAM, NDFD, HRRR, RAP 

latitude = 32.2
longitude = -110.9 
tz = 'America/Phoenix'

start = pd.Timestamp(datetime.date.today(), tz=tz) # today's date
end = start + pd.Timedelta(days=7) # 7 days from today

model = GFS()

data = model.get_data(latitude, longitude, start, end)

data.plot(figsize=(12,12), subplots=True)
4

1 回答 1

3

错误发生在cftime包中的 datetime 类中。当我使用 cftime 版本 1.1.1.2 时出现错误,而当我使用版本 1.0.3.4 时没有出现错误。

最简单的解决方案是降级您的cftime pacakge。如果您使用 Anaconda,则在 Anaconda 提示符下运行以下命令即可:

conda install -c conda-forge cftime=1.0.3.4

在cftime的项目网站上有一些关于这个话题的讨论:https ://pypi.org/project/cftime/

更新:该错误已在新的 pvlib 版本 pvlib-0.7.2 中得到修复。该错误在此处进一步描述:https ://github.com/pvlib/pvlib-python/issues/895

于 2020-04-08T10:12:05.147 回答