2016-06-25 7 views
0

私はPythonの初心者ですので、noobと呼んでくださいが、私は明確な答えを見つけることができません。私はマージされたインデックスを持つリストのリストからpandasデータフレームを取得したい。私はループを実行しており、数値実行の観測値(ここでは任意に3)は実行ごとに異なる可能性があります。これは、日付についても当てはまります。申し訳ありませんが、私は実際の生活の例を管理することができませんでした。リストからマージされたインデックスを持つリストからのパンダデータフレーム

import pandas as pd 

# First create a list of lists 
my_list = [[] for i in range(3)] 

# Now fill the list in a loop 

for i in range(3): 
    for i in range(3): 
     my_list[i].append(pd.DataFrame({"signal_%d" % i: [i], "date": pd.Timestamp('2015-10-26 16:24:08.572000')})) 

>>> my_list 

[[      date signal_0 
0 2015-10-26 16:24:08.572   0,      date signal_0 
0 2015-10-26 16:24:08.572   0,      date signal_0 
0 2015-10-26 16:24:08.572   0], [      date signal_1 
0 2015-10-26 16:24:08.572   1,      date signal_1 
0 2015-10-26 16:24:08.572   1,      date signal_1 
0 2015-10-26 16:24:08.572   1], [      date signal_2 
0 2015-10-26 16:24:08.572   2,      date signal_2 
0 2015-10-26 16:24:08.572   2,      date signal_2 

どのように私は、次のデータフレームを取得することができ

>>> perfect_df 
         signal_0 signal_1 signal_2 
2015-10-26 16:24:08.572   0   1   2 
2015-10-26 16:24:08.572   0   1   2 
2015-10-26 16:24:08.572   0   1   2 

pd.DataFrame(my_listという)動作するようには思えdoen't。

ありがとうございます! パトリック

+0

を構築することができます?なぜデータフレームに直接ならないのですか? –

+0

これは一例です。私の実際のコードのリストはループで満たされます。データフレームをループで埋める方法を教えてください。ありがとう – Pat

答えて

0

私は何かが欠けていない限り、あなたはなぜあなたが最初のリストを使用しないで直接データフレーム

In [65]: pd.DataFrame(
    index=pd.to_datetime(['2015-10-26 16:24:08.572'] * 3), 
    data={ 
     'signal_0': 0, 
     'signal_1': 1, 
     'signal_2': 2 
    } 
) 
Out[65]: 
         signal_0 signal_1 signal_2 
2015-10-26 16:24:08.572   0   1   2 
2015-10-26 16:24:08.572   0   1   2 
2015-10-26 16:24:08.572   0   1   2 
+0

ループ中に、リストに追加される行の数がわかりません。特に、3つの列で観測数が異なる場合があります。また、同じ日付が関連付けられている場合もあります。したがって、その場からデータフレームを作成するのではなく、インデックスを処理することです。 – Pat

関連する問題