128

2 つのデータ フレームをマージしようとしています。各データ フレームには 2 つのインデックス レベル (date、cusip) があります。列では、たとえば、いくつかの列が 2 つの間で一致します (通貨、調整日)。

これらをインデックスでマージする最良の方法は何ですか。ただし、通貨と調整日付の 2 つのコピーを取得しないでください。

各データ フレームは 90 列なので、すべてを手動で書き出さないようにしています。

df:                 currency  adj_date   data_col1 ...
date        cusip
2012-01-01  XSDP      USD      2012-01-03   0.45
...

df2:                currency  adj_date   data_col2 ...
date        cusip
2012-01-01  XSDP      USD      2012-01-03   0.45
...

私が行った場合:

dfNew = merge(df, df2, left_index=True, right_index=True, how='outer')

私は得る

dfNew:              currency_x  adj_date_x   data_col2 ... currency_y adj_date_y
date        cusip
2012-01-01  XSDP      USD      2012-01-03   0.45             USD         2012-01-03

ありがとうございました!...

4

8 に答える 8