【发布时间】:2017-07-10 01:52:02
【问题描述】:
我在 pandas 中有大量 256 行 5 列的数组,我想计算每列中 4 个数组成员的统计(最小值、最大值、平均值、...)特征。我写了以下代码,但它非常耗时:
for col in array:
for j in range(0,256,1):
min = array[col].iloc[j:j+4].min()
max= array[col].iloc[j:j+4].max()
(other functions)
因为我有很多阵列,我想为每个阵列执行此任务,这非常耗时。有没有什么方法可以写一个更简单的代码,没有循环,减少执行时间。
【问题讨论】:
-
嗯,你到底在处理什么。
iloc可能用于某些pandas数据结构。 -
不提供细节并不容易。这使得它没有很好的定义。
-
我不确定你是否可以在不使用 O(n) 时间的情况下对每个 n/4 个元素应用一个函数。
-
(@Unni:可悲的是,它甚至不是 n/k,而是 2n/k(进入和退出窗口/窗口大小),并且常数变差了。要么指向统计数据的链接触发了负担得起的近似值使用采样的结果 - 或不使用。)