我试图在一个数据帧中添加一组返回值,以便将其输出到CSV文件并进行一些基本的绘图,但是我得到了一个错误消息:ValueError: Length of values does not match length of index
。我并不特别关心列的长度,但我想知道是否可以缓和索引,使列表中的第一个元素出现在索引0处,然后其他所有元素都以后续值的形式出现,如有必要,在末尾加上NaN
填充。这在熊猫身上可行吗?在
for idx, col in enumerate(df.T.index.values):
print "On " + str(idx) + " of " + str(len(df.T.index.values))
startDate = dt.datetime.strptime(col.split()[0], "%m/%d/%y")
endDate = startDate + dt.timedelta(days=91)
returns1 = getReturnsForPeriod(df[col][1], startDate, endDate)
retval[(col.split()[0], df[col][1], df[col][0])] = [ret for ret in returns1]
returns2 = getReturnsForPeriod(df[col][2], startDate, endDate)
retval[(col.split()[0], df[col][2], df[col][0])] = [ret for ret in returns2]
returns3 = getReturnsForPeriod(df[col][3], startDate, endDate)
retval[(col.split()[0], df[col][3], df[col][0])] = [ret for ret in returns3]
returns4 = getReturnsForPeriod(df[col][4], startDate, endDate)
retval[(col.split()[0], df[col][4], df[col][0])] = [ret for ret in returns4]
我认为this和你的问题相似。 先去via dictionary,这样就可以知道数组的最终最大长度。在
这里只是这个想法的基本模型,还没有经过测试:
相关问题 更多 >
编程相关推荐