私にはたくさんのExcelファイルがあります。これらのファイルのそれぞれは、の特定の時点にあるすべてのサブジェクトに対して1つまたは複数の変数を含んでいます。各変数について、私は、例えば、10の異なる時点で変数の値を格納する10のファイルを持っています。私の最終的な目標は、パネルシリーズを設定することです。複数のデータフレームをパネルに変換する
各ファイルに変数が1つしかないとします。各変数(またはアイテム)について、空のDataFrame item = pd.DataFrame()
を初期化し、10個のファイルすべてを読み込んで空のDataFrame item = item.append(pd.DataFrame(df))
に追加します。ここで、dfは新しいファイルのものです。これらの10のDataFramesのそれぞれは、1 x #subjects
の次元を持っています。したがって、私は最終的に10 x #subject
を持っています。私はこれをpf = pd.Panel({'variable name': item})
を使ってパネルフレームに変換します。 簡単かつ実用的な方法は、私はそれぞれのファイルに2つの以上の変数を持っている場合は、この問題にアプローチするためにどのようなものです:今、私は簡単に...多くの他の項目との大きなパネルフレームに
質問これを追加することができます?私は上記のアプローチにこだわっている場合、私はそれらを付加した後
subject1 subject2
variable1 2000 val val
variable2 2000 val val
variable1 2001 val val
variable2 2001 val val
...
につながる、各ファイルのディメンション#variables x #subjects
のデータフレームを持っているでしょう。明らかにこれをパネルデータに変換するのは難しい構造です。
私は自分の周りで働くことができます。適切な構造を維持するために "正しい行"を追加するか、同じファイルを何度も読み込むことができますが、これは煩雑でコストがかかります。この作業を簡単に行うメソッドが必要ですが、ドキュメントでそれらを見つけることができませんでした。
ありがとうございました。
あなたの答え、@Altonキャンベルに基づいて、私は私が望んだ:I空のdict 'data = {}'を初期化し、 'data [year] = df'(ここでdfは追加する1年のDataFrameです)のループで各年のデータを挿入し、' item = pd.Panel(data) 'を読み込み、' item = item.swapaxes(axis1 = 'items'、axis2 = 'major') 'のスワップを行います(なぜなら、ドキュメントにしたがって年を長軸にしたいからです)。ありがとう! – Jhonny