<p>我使用嵌套for循环从数据帧读取选择性数据。
然后我需要实现一些数学公式来处理这些选择性数据。
出于这个原因,我实现了一个动态逻辑,将列表“idx”和“cols”中的数据的索引和列编号分隔开。
但我应用于读取此数据的嵌套For循环执行的次数出乎意料地多</p>
<p>以下是示例代码及其输出:</p>
<pre><code>idx = [1, 2]
cols = [2, 2]
count = 0
def run_imputation():
global count
for i in idx:
for col in cols:
count += 1
print(count)
dfClean.iloc[i, col] = tempOut[i,col] #Need to do such and more computations
origVal.append(dfClean_Orig.iloc[i, col])
impuVal.append(dfClean.iloc[i, col])
%timeit run_imputation()
OUTPUT:
1
2
......
32444
</code></pre>
<p>所以我的问题是为什么For循环执行32444次,而它应该只执行4次。
除了Python中复杂的for循环之外,还有没有更好的方法来进行如下所示的选择性数据计算</p>