###### ```python
我的代码
{for month in range(1,13):
houston_monthly=houston[houston['Month']==month]
X=houston_monthly[['GHI','DNI','Temperature','Price']]
C=X.corr()
days = max(houston_monthly['Day'])
GHI = np.zeros([24, days])
Temp = np.zeros([24, days])
DNI=np.zeros([24, days])
rtp=np.zeros([24, days])
c=np.zeros([24,3,3])
for hour in range(24):
GHI[hour] = houston_monthly[houston_monthly['Hour'] == hour]['GHI']/1000
Temp[hour] = houston_monthly[houston_monthly['Hour'] == hour]['Temperature']
DNI[hour] = houston_monthly[houston_monthly['Hour'] == hour]['DNI'] / 1000
rtp[hour] = houston_monthly[houston_monthly['Hour'] == hour]['Price']
c = np.corrcoef(np.array([GHI[hour],Temp[hour],DNI[hour],rtp[hour]]))}
```,
{---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/var/folders/1t/mwj66mvx0mv00rs70yc3hgk40000gn/T/ipykernel_14153/1750111386.py in <module>
17 c=np.zeros([24,3,3])
18 for hour in range(24):
---> 19 GHI[hour] = houston_monthly[houston_monthly['Hour'] == hour]['GHI']/1000
20 Temp[hour] = houston_monthly[houston_monthly['Hour'] == hour]['Temperature']
21 DNI[hour] = houston_monthly[houston_monthly['Hour'] == hour]['DNI'] / 1000
ValueError: could not broadcast input array from shape (28,) into shape (31,)}
求指教应该怎么改?
你这好多变量看不到定义,不知道格式不好分析啊
按照你的代码
GHI是一个24xdays的矩阵,GHI[hour]是一个长度为days的数组,但是houston_monthly[houston_monthly['Hour'] == hour]按houston_monthly['Hour'] == hour取出来的行数明显与days是不同的,一个是28,一个是31,因为没有数据,也不知道你的意图,无法判断应该怎么改,两个长度一个是最大天数,一个是按小时数取的,除非你的数据中一个月每天每小时都有唯一一条数据,这两个数才会相等,否则的话总是会有偏差的,你可以按照这个思路去检查一下你的数据和代码,如果搞不明白,那请把数据附上来,把你的具体的目的描述一下
下月1日减去一天即可
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!