<p>假设这个过程是数据准备的一部分,我想提一下,只要可能,您应该尝试使用“数据准备管道”。否则,代码在几个月后就会变得一团糟</p>
<p>有几种方法可以解决这个问题</p>
<p>字典是处理这个问题最直接的方法</p>
<pre class="lang-py prettyprint-override"><code>df_parts = {
'df1' : {'part1': df1_part1, 'part2': df1_part2,...,'partN': df1_partN},
'df2' : {'part1': df1_part1, 'part2': df1_part2,...,'partN': df2_partN},
'...' : {'part1': ..._part1, 'part2': ..._part2,...,'partN': ..._partN},
'dfN' : {'part1': dfN_part1, 'part2': dfN_part2,...,'partN': dfN_partN},
}
# print parts from `dfN`
for val in for df_parts['dfN'].values():
print(val)
# print part1 for all dfs
for df in df_parts.values():
print(df['part1'])
# print everything
for df in df_parts:
for val in df_parts[df].values():
print(val)
</code></pre>
<p>这种方法的好处是,您可以遍历整个字典,但不包括<code>range</code>,这以后可能会让人困惑。此外,最好将每个df_部分直接分配给dict,而不是分配可能使用一次或两次的<code>N*N</code>变量。在这种情况下,您只需使用<em>1变量</em>,并在进行过程中重新分配:</p>
<pre class="lang-py prettyprint-override"><code># code using df1_partN
df1 = df_parts['df1']['partN']
# stuff to do
# happy? checkpoint
df_parts['df1']['partN'] = df1
</code></pre>