複数のdataframeをfor文で回したい


`df_1, df_2, df_3` とカラムがすべて同じなデータフレームがあるとき、

[code]

    df_1['year'].shape
    df_2['year'].shape
    df_3['year'].shape
    
[/code]

上記を `for` 文で回したく、

[code]

    for i in (1,2,3):
        df_(i)['year'].shape
    
[/code]

のように実現したいのですが、どのようにすれば自動化できますでしょうか？




次のコードのように`eval`を使えばできますが、

[code]

    for i in (1,2,3):
        eval( "df_"+str(i)+"['year'].shape")
    
[/code]

`eval`は他に方法がないときの最後の手段だと考えます。  
次のコードのように書いた方がよいと思います。

[code]

    for df in [df_1, df_2, df_3]:
        df['year'].shape
    
[/code]

どうしても番号でデータフレームを指定したいときは、あらかじめリストを作っておけばよいと思います。

[code]

    df_list = [df_1, df_2, df_3]
    for i in (1,2,3):
        (df_list[i-1])['year'].shape
    
[/code]

kunifさんのコメントにありますが、`df['year'].shape`だけでは意味のないコードです。単なる例だと解釈しました。

