<p>是的,您的解决方案是好的,只需通过列表理解将其分配给新的<code>list of DataFrame</code>:</p>
<pre><code>dfs = [df1,df2,df3,df4]
dfs_new = [d.reindex(newindex) for d in dfs]
</code></pre>
<p>很好的解决方案,建议@Joe Halliwell,谢谢:</p>
^{pr2}$
<p>或者像suggest@roganjosh一样,可以创建数据帧字典:</p>
^{3}$
<p>然后按键选择每个数据帧:</p>
<pre><code>print (dfs_new_dict['a'])
</code></pre>
<p><strong>样本</strong>:</p>
<pre><code>df = pd.DataFrame({'a':[4,5,6]})
df1 = df * 10
df2 = df + 10
df3 = df - 10
df4 = df / 10
dfs = [df1,df2,df3,df4]
print (dfs)
[ a
0 40
1 50
2 60, a
0 14
1 15
2 16, a
0 -6
1 -5
2 -4, a
0 0.4
1 0.5
2 0.6]
</code></pre>
<hr/>
<pre><code>newindex = [2,1,0]
df1, df2, df3, df4 = [d.reindex(newindex) for d in dfs]
print (df1)
print (df2)
print (df3)
print (df4)
a
2 60
1 50
0 40
a
2 16
1 15
0 14
a
2 -4
1 -5
0 -6
a
2 0.6
1 0.5
0 0.4
</code></pre>
<p>或者:</p>
<pre><code>newindex = [2,1,0]
names = ['a','b','c','d']
dfs_new_dict = {name: d.reindex(newindex) for name, d in zip(names, dfs)}
print (dfs_new_dict['a'])
print (dfs_new_dict['b'])
print (dfs_new_dict['c'])
print (dfs_new_dict['d'])
</code></pre>