2016-06-25 4 views
1

多くのデータフレームを含む辞書Dがあります。 D[0], D[1]...D[i]ですべてのデータフレームにアクセスでき、それぞれのデータフレームのキー/識別子として整数が使用できます。連結多くのデータフレーム

私は今、新しいデータフレームには、この方法で、すべてのデータフレームをCONCATたい:

new_df = pd.concat([D[0],D[1],...D[i]], axis= 1) 

は、私はこの問題を解決することができますどのように何を示唆している(CONCATを使用することはまだ必要がありますか)?

Dのリストを生成してこれを含めてみましたが、エラーメッセージが表示されました。

+0

あなたは、列や行単位を連結するために欠けていますか? pd.concat([yのx、yのd.items()]、軸= 1) ' – EdChum

+0

(' d.items()の '実際に私は 'pd.concat([x、y in d.items()]、axis = 1)'は – EdChum

答えて

1

私が一番簡単な方法は、辞書項目の辞書の理解を使用することであると思う:

In [14]: 
d = {'a':pd.DataFrame(np.random.randn(5,3), columns=list('abc')), 'b':pd.DataFrame(np.random.randn(5,3), columns=list('def'))} 
d 

Out[14]: 
{'a':   a   b   c 
0 0.030358 1.523752 1.040409 
1 -0.220019 -1.579467 -0.312059 
2 1.019489 -0.272261 1.182399 
3 0.580368 1.985362 -0.835338 
4 0.183974 -1.150667 1.571003, 'b':   d   e   f 
0 -0.911246 0.721034 -0.347018 
1 0.483298 -0.553996 0.374566 
2 -0.041415 -0.275874 -0.858687 
3 0.105171 -1.509721 0.265802 
4 -0.788434 0.648109 0.688839} 

In [29]: 
pd.concat([df for k,df in d.items()], axis=1) 

Out[29]: 
      a   b   c   d   e   f 
0 0.030358 1.523752 1.040409 -0.911246 0.721034 -0.347018 
1 -0.220019 -1.579467 -0.312059 0.483298 -0.553996 0.374566 
2 1.019489 -0.272261 1.182399 -0.041415 -0.275874 -0.858687 
3 0.580368 1.985362 -0.835338 0.105171 -1.509721 0.265802 
4 0.183974 -1.150667 1.571003 -0.788434 0.648109 0.688839 
+0

が完璧だと思います!ありがとう@EdChum。私はいつか自分でそのような解決策を見つけることを願っています。私はディクテーションの理解に精通していますが、それは私の質問に対する解決策であるとは決して考えなかったでしょう。 –

関連する問題