2016-04-10 19 views
1

私はマージしたいデータフレームを2つ持っていますが、私が望むように動作させることはできません。異なるインデックスのデータフレームをマージする

 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] 

と、このデータフレームは、「エントリー」です

 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] 

i「が終了し、」データフレームから列を取ると、「エントリ」のデータフレームに追加して持つ行を含めないしたいと思います"NaN"値。たとえば、 "extries"データフレーム行0は、行1の「終了」データ型の列を追加する必要があります。

どうすればいいですか?

+0

を '貿易#'や '注文番号がない場合'あなたの出口のデータフレームでは、テーブルに参加する方法がありません。出口はエントリーの2倍の大きさですが、おそらくステートメントがありません。 – Alexander

答えて

1

終了内の他のすべての行はエントリに対応する行と一致するという点で、あなたのテーブルへの暗黙の順序があるように思われることを考えると、あなたはこれを試すことができます。

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

これは、両方のデータフレームでreset_index()を実行した後に機能しました。 – user961346

関連する問題