2016-04-10 3 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] 

и это dataframe является «записи»

 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] 

я хотел бы взять столбцы из «выходит» dataframe и добавить их в «запись» dataframe и не включает в себя строку с Значения "NaN". Например, строка «extries» dataframe 0 должна добавлять столбцы из «выходных» datarame в строке 1.

Как я могу это сделать?

+0

Без 'торговли #' или 'Order # 'в вашем выводе dataframe, у вас нет возможности присоединиться к вашим таблицам. Хотя выходы в два раза превышают размеры записей, возможно, есть неустановленный порядок. – Alexander

ответ

1

Учитывая, что, как представляется, неустановленное для того, чтобы ваши таблицы в том, что все остальные строки в выходах совпадает с соответствующей строки в записи, вы можете попробовать это:

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

это работало после выполнения reset_index() на обоих кадрах данных. – user961346

Смежные вопросы