2016-12-01 6 views
1

複数のデータフレームを1つの変数に集めようとしていますが、Pythonでこれを行うのに問題があります。これは私がこのような名前(例えば。my_collection[["my_df1"]])に基づいて個々のデータframsを呼び出すとして素晴らしいことを行うことができますPythonはRのpandasデータフレームリストと同じです

df1 <- data.frame() 
df2 <- data.frame() 
my_collection <- list(my_df1 = df1, my_df2 = df2) 

を次のように

私はRで実行しようとしているコードがあります。

問題は、私が検索可能な単一の変数にそれらを組み合わせることを可能にする解決策をPythonで見つけることができないことです。私はこれがPythonの用語で何になるのかちょっと固まっており、正しい方向を指すように苦労しています。

どのような手助けをしても結構です!ありがとう!

答えて

3
あなたは dictたいようですが、私に聞こえる

In [6]: df1 = pd.DataFrame({'a':[1,2,3],'b':[4,5,6]}) 

In [7]: df2 = pd.DataFrame({'c':[7,8,9], 'd':[10,11,12]}) 

In [8]: df1 
Out[8]: 
    a b 
0 1 4 
1 2 5 
2 3 6 

In [9]: df2 
Out[9]: 
    c d 
0 7 10 
1 8 11 
2 9 12 

In [10]: frames = dict(my_df1=df1, my_df2=df2) 

In [11]: frames['my_df1'] 
Out[11]: 
    a b 
0 1 4 
1 2 5 
2 3 6 

In [12]: frames['my_df2'] 
Out[12]: 
    c d 
0 7 10 
1 8 11 
2 9 12 

お知らせは、私がDataFrameコンストラクタでdictリテラルを使用していますが、私はdict建設業者を使用しているだけのような構文は同じに見えますR's。あなたはあまりにもリテラルを使用している可能性が

In [13]: frames2 = {'foo':df1, 'bar':df2} 

In [14]: frames2['foo'] 
Out[14]: 
    a b 
0 1 4 
1 2 5 
2 3 6 

In [15]: frames2['bar'] 
Out[15]: 
    c d 
0 7 10 
1 8 11 
2 9 12 

注意を、Rリストは基本的にラベル付けを可能に配列されているが、複雑さは、アレイ(多分配列リスト)と同じです。それらはPython list sの形をしています。 dictは、非常に異なる実行時の複雑さを持つハッシュテーブルです。これは、R環境と同等です(あるいは、R環境がフードの中で使用するもの - 私はRが普通のハッシュマップデータ構造を持っているとは思わない)。

+0

背景情報ありがとう! –

関連する問題