如何合并两个带日期时间索引的不同长度Pandas DataFrame
解决方案
你之前使用pd.concat默认是纵向拼接(axis=0),会把两个DataFrame的行直接堆叠,不会合并相同索引的行,所以出现了日期重复的问题,你可以用以下两种方法实现按索引对齐合并:
方法1:使用pd.concat横向拼接
指定axis=1按列拼接,pandas会自动根据索引对齐数据:
result = pd.concat([a, b], axis=1, sort=True)
运行后得到的结果就是你需要的按唯一日期索引对齐的格式。
方法2:使用join外连接
因为两个DataFrame都已经将Date设为索引,可以直接用外连接保留两边所有的索引值:
result = a.join(b, how='outer')
内容的提问来源于stack exchange,提问作者DDStackoverflow
相关产品推荐
相关产品推荐

