2016-04-10 17 views
1

Ich habe 2 Datenrahmen, die ich zusammenführen möchte, aber ich kann es nicht funktionieren, wie ich will.Zusammenführen von Datenrahmen mit verschiedenen Indizes

 ExitType  ExitSignal  ExitTime ExitPrice 
0   NaN    NaN   NaN  NaN 
1  ExitShort Profit Target 7:00:00 AM  2.8065 
2   NaN    NaN   NaN  NaN 
3  ExitShort Profit Target 8:00:00 AM  2.7772 
4   NaN    NaN   NaN  NaN 
5  ExitShort Profit Target 8:30:00 AM  2.7533 
6   NaN    NaN   NaN  NaN 
7  ExitShort  Stop Loss 10:00:00 AM  2.7700 
8   NaN    NaN   NaN  NaN 
9  ExitLong  Stop Loss 9:30:00 AM  2.8135 
10   NaN    NaN   NaN  NaN 
11 ExitShort Profit Target 6:30:00 AM  2.7200 
[5816 rows x 4 columns] 

und dieser Datenrahmen ist die ‚Einträge‘

 Trade # Order #  Type Signal  Date   Time Price \ 
0   1  1 EntryShort PChSE 1/7/2008 7:00:00 AM 2.8304 
2   2  3 EntryShort PChSE 1/7/2008 7:30:00 AM 2.8011 
4   3  5 EntryShort PChSE 1/7/2008 8:00:00 AM 2.7772 
6   4  7 EntryShort PChSE 1/7/2008 8:30:00 AM 2.7533 
8   5  9 EntryLong PChLE 1/9/2008 8:30:00 AM 2.8302 
10   6  11 EntryShort PChSE 1/10/2008 5:30:00 AM 2.7439 
[2908 rows x 16 columns] 

ich mag die Spalten aus dem „Exits“ Datenrahmen nehmen und sie auf die „Einträge“ Datenrahmen hinzufügen und nicht die Zeilen mit "NaN" -Werte. Zum Beispiel sollte die Datenzeile "extries" 0 die Spalten aus dem Datenrahmen "exits" in Zeile 1 hinzufügen.

Wie kann ich das tun?

+0

Ohne 'Handel #' oder 'Order # 'In Ihrem Exits-Datenrahmen haben Sie keine Möglichkeit, Ihren Tabellen beizutreten. Obwohl die Ausgänge doppelt so groß sind wie die Einträge, gibt es vielleicht eine nicht angegebene Reihenfolge. – Alexander

Antwort

1

Da es scheint, dass jede zweite Zeile in Exits passt die entsprechende Zeile in den Einträgen eine unausgesprochene, um Ihre Tabellen zu sein, können Sie dies versuchen:

pd.concat([entries, exits.dropna()], axis=1) 
+0

Dies funktionierte nach dem Ausführen eines reset_index() auf beiden Datenrahmen. – user961346

Verwandte Themen