假设此过程是数据准备的一部分,我想提一下,您应该尽可能尝试使用“数据准备管道”。否则,几个月后代码将变得一团糟。
有几种方法可以解决这个问题。
字典是处理这个问题的最直接的方法。
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)
这种方法的好处是您可以遍历整个字典,但您不包括range,这可能会在以后造成混淆。此外,最好将每个 df_part 直接分配给 dict,而不是分配可能使用一次或两次的 N*N 变量。在这种情况下,您可以只使用 1 个变量 并在进行时重新分配它:
# code using df1_partN
df1 = df_parts['df1']['partN']
# stuff to do
# happy? checkpoint
df_parts['df1']['partN'] = df1