我有以下格式的太阳能数据:
我想使用pvlib包将时间索引转换为小时角度。到目前为止,我的代码使用pandas从.csv文件读取输入数据,并提取时间数据。我需要将这些数据(以30分钟为间隔)转换为小时角,但我不断得到错误:
TypeError: index is not a valid DatetimeIndex or PeriodIndex
以下是我目前的代码:
# Import modules
import pandas as pd
import pvlib
# Read in data from .csv file for time and DHI
headers = ["Time","DHI"]
data_file = pd.read_csv("path to csv file",names=headers)
time_data = data_file["Time"]
# Find equation of time for hour angle calc
equation_of_time = pvlib.solarposition.equation_of_time_spencer71(1)
# Find hour angle
hour_angle = pvlib.solarposition.hour_angle(time_data, -89.401230, equation_of_time)
“亚当•詹森”的回答很好,但不是最简单的。如果您查看
hour_angle
函数的代码,您将看到其中的2/3用于将这些时间戳转换回整数。剩下的很简单,您不需要pvlib了解引擎盖下发生的事情总是好的
正如错误消息所述,问题在于您的索引不是DateTimeIndex。为了计算小时角,我们需要知道具体的时间,因此需要DateTimeIndex。现在只需传入一个整数列表,这对函数没有任何意义
让我们首先创建一个小示例:
现在,DataFrame的外观如下所示:
现在我们可以将索引传递给小时角函数,因为它表示唯一的时间段:
请注意开始日期是如何定位到特定时区的。这是必要的,除非您的数据是UTC,否则索引不表示唯一的时间段
相关问题 更多 >
编程相关推荐