我正在尝试合并两个数据框。每个数据框都有两个索引级别(日期、时间点)。例如,在列中,某些列在两者之间匹配(货币、调整日期)。
按索引合并这些的最佳方法是什么,但不要获取货币和调整日期的两份副本。
每个数据框都是 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
谢谢! …
原文由 user1911092 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以计算出仅在一个 DataFrame 中的列,并使用它来选择合并中的列子集。
然后执行合并(注意这是一个索引对象,但它有一个方便的
tolist()
方法)。这将避免任何列在合并中发生冲突。