我对清单的理解如下:
[(foo(df.iloc[old_row[0]:old_row[1]].cov(), df.iloc[new_row[0]:new_row[1]].cov()), new_row)
for new_row in new_rows_list if old_row != new_row]
其中
df
是20000行50列pandas.DataFrame
old_row
是tuple
,它为
行,其中old_row[0]
<old_row[1]
(例如(50,100))new_row
与old_row
相同,但值不同new_rows_list
是list
new_row
的{{1}} 基本上,我想要实现的是在两个tuples
上执行foo
,其中一个是相同的,而另一个则通过循环进行更改。
循环简单地连续获取pandas.DataFrames
的大块(例如,首先从第0到50行,然后从51到100,再从101到150等)。
我尝试使用DataFrame
,但是由于np.vectorize
和new_rows_list
都是可迭代的,因此使用此功能无法获得任何结果。
整个输出返回一个元组列表,其中一个元组是{df
的结果,foo
)
我确定有办法摆脱这种循环,但是我被困在这里。
如果我的解释不够充分,请告诉我是否需要进一步说明。