Python 类型错误:<;类别';cftime.\u cftime.DatetimeGregorian'&燃气轮机;不能转换为日期时间

Python 类型错误:<;类别';cftime.\u cftime.DatetimeGregorian'&燃气轮机;不能转换为日期时间,python,jupyter-notebook,Python,Jupyter Notebook,我一直在尝试使用pvlib python工具进行预测。该工具附带了一些特定于模型的类 # Import pvlib forecast models import pandas as pd import numpy as np import matplotlib.pyplot as plt import datetime import seaborn as sns; sns.set_color_codes() from pvlib.forecast import GFS, NAM, NDFD, H

我一直在尝试使用pvlib python工具进行预测。该工具附带了一些特定于模型的类

# Import pvlib forecast models
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime
import seaborn as sns; sns.set_color_codes()
from pvlib.forecast import GFS, NAM, NDFD, HRRR, RAP
from pvlib import solarposition

# Specify Location (Phoenix, AZ)
latitude, longitude, tz = 32.2, -110.9, 'US/Arizona'

# Specify time range
start = pd.Timestamp(datetime.date.today(), tz=tz)
end = start + pd.Timedelta(days=7)
irrad_vars = ['ghi','dni','dhi']


from pvlib.forecast import GFS, NAM, NDFD, HRRR, RAP
model = GFS()
# Retrive data.returns panda.DataFrame object
raw_data = model.get_data(latitude, longitude, start, end)
print(raw_data.head())
当我尝试从模型中获取数据时,代码生成以下输出:

TypeError                                 Traceback (most recent call last)
# Retrive data.returns panda.DataFrame object
----> 6 raw_data = model.get_data(latitude, longitude, start, end)
TypeError: <class 'cftime._cftime.DatetimeGregorian'> is not convertible to datetime
TypeError回溯(最近一次调用)
#retrieve data.returns panda.DataFrame对象
---->6原始数据=模型。获取数据(纬度、经度、起点、终点)
TypeError:无法转换为datetime

所以我不知道您的
getdata
函数中有什么,但我怀疑它使用了netCDF4库。以及构建在cftime库()上的
netCDF4.num2date
函数。请参阅netCDF4文档的要求部分:


看起来他们在版本5左右从python datetime库迁移了出来,因为它可以处理比严格的公历更多的日历。我不完全明白为什么,但是你可以使用
kwarg
选项,通常只使用\u cftime\u datetimes=False
就足够了,但您也可以使用附加的
only\u use\u python\u datetimes=True
强制它,这应该会返回一个python datetime并解决您的问题。

所以我不知道您的
getdata
函数中有什么,但我怀疑它使用了netCDF4库。以及构建在cftime库()上的
netCDF4.num2date
函数。请参阅netCDF4文档的要求部分:


看起来他们在版本5左右从python datetime库迁移了出来,因为它可以处理比严格的公历更多的日历。我不完全明白为什么,但是你可以使用
kwarg
选项,通常只使用\u cftime\u datetimes=False
就足够了,但是,您也可以使用附加的
仅\u use\u python\u datetimes=True
强制它,这将返回一个python datetime并修复您的问题。

pvlib的贡献者在这里讨论了这一点:


其中一个建议是降低cftime的级别,这对我很有效。

pvlib的贡献者在这里讨论了这一点:


其中一个建议是降低cftime的等级,这对我很有效。

你的问题是什么?另外,请提供完整的错误消息。请说明哪一行给出了指定的错误。另外,请更加明确(向我们展示您的尝试),因为这对您和我们都有帮助(我们会更好地理解,您会更快得到答案)。我添加了更多代码并指定了错误。当我试图从模型(GFS)中获取数据时。该类不能转换为datetime。谢谢。你的问题是什么?另外,请提供完整的错误消息。请说明哪一行给出了指定的错误。另外,请更加明确(向我们展示您的尝试),因为这对您和我们都有帮助(我们会更好地理解,您会更快得到答案)。我添加了更多代码并指定了错误。当我试图从模型(GFS)中获取数据时。该类不能转换为datetime。非常感谢。