如何对pandas.DataFrame

时间:2018-12-12 18:15:44

标签: python python-3.x pandas numpy vectorization

我对清单的理解如下:

[(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_rowtuple,它为 行,其中old_row[0] <old_row[1](例如(50,100))
  • new_rowold_row相同,但值不同
  • new_rows_listlist new_row的{​​{1}}

基本上,我想要实现的是在两个tuples上执行foo,其中一个是相同的,而另一个则通过循环进行更改。 循环简单地连续获取pandas.DataFrames的大块(例如,首先从第0到50行,然后从51到100,再从101到150等)。

我尝试使用DataFrame,但是由于np.vectorizenew_rows_list都是可迭代的,因此使用此功能无法获得任何结果。

整个输出返回一个元组列表,其中一个元组是{df的结果,foo

我确定有办法摆脱这种循环,但是我被困在这里。

如果我的解释不够充分,请告诉我是否需要进一步说明。

0 个答案:

没有答案