pandas合并具有不同日期索引的两个数据框
假设我从两个不同的文件中提取了csv数据,这些文件都有一个日期索引,而这个日期索引是pandas自动提取的,原本就是其中一列。
import pandas as pd
df1 = pd.io.parsers.read_csv(data1, parse_dates = True, infer_datetime_format=True, index_col=0, names=['A'])
df2 = pd.io.parsers.read_csv(data2, parse_dates = True, infer_datetime_format=True, index_col=0, names=['A'])
现在,一个csv文件的日期和另一个文件的日期不一样,但当我用read_csv加载时,日期是明确的。我试过使用join命令,但似乎没有保留日期。
df1 = df1.join(df2)
我得到了一个有效的数据框,但日期范围被固定在一个比原始范围小的子集上,这样就不能反映两个csv文件之间日期的差异。我想要的是创建一个包含两列(都是'A'列)的单一数据框,对于不重叠的日期,自动填入NaN或零值。有没有简单的解决办法,或者我可能遗漏了什么呢?非常感谢。
1 个回答
4
默认情况下,pandas的DataFrame方法'join'是用'inner'合并两个数据框。如果你想用'outer'合并,你的连接代码应该是:
df1 = df1.join(df2, how='outer')
可以查看 这个链接 了解更多信息。