2016-06-25 4 views
0

Ich bin neu in Python, also ruf mich an, aber ich kann keine klare Antwort finden. Ich möchte einen Pandas-Datenrahmen aus einer Liste von Listen mit zusammengeführten Indizes erhalten. Ich mache eine Schleife und die Anzahl der Beobachtungen (hier willkürlich 3) könnte sich in jedem Lauf unterscheiden. Dies gilt auch für die Daten. Es tut mir leid, aber ich konnte kein wirkliches Beispiel mehr schaffen.Pandas Datenrahmen aus Liste mit zusammengeführten Index

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 

Wie kann ich erhalte den folgenden Datenrahmen

>>> 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 zu funktionieren scheint.

Vielen Dank im Voraus! Patrik

+0

Warum Sie zunächst eine Liste verwenden ?? Warum nicht direkt den Datenrahmen? –

+0

Es ist ein Beispiel. Die Liste in meinem echten Code wird in einer Schleife gefüllt. Vielleicht kannst du mir zeigen, wie man den Datenrahmen in einer Schleife füllt? Danke – Pat

Antwort

0

Es sei denn, ich bin etwas fehlt, können Sie bauen direkt auf den Datenrahmen

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

Während der Schleife weiß ich nicht, wie viele Zeilen der Liste hinzugefügt werden. Insbesondere die Anzahl der Beobachtungen kann in den drei Spalten abweichen und sie haben möglicherweise die gleichen Daten angehängt oder nicht. Es geht also nicht darum, einen Datenrahmen vom Fleck aus zu erstellen, sondern mit den Indizes umzugehen. – Pat