假设我从两个独立的文件中提取了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时,日期定义得很好。我已经尝试了连接命令,但它似乎没有保留日期。
df1 = df1.join(df2)
我得到了一个有效的数据帧,但是日期的范围被固定为原始范围的一个较小的子集,该范围应该给定两个csv文件的日期之间的差异。我想要的是一种方法来创建一个单一的数据帧与2列(两个"a"列),其中包含NaN或零值的非重叠日期自动填写。是否有一个简单的解决方案,或者有什么我可能会错过这里。非常感谢。
默认情况下,pandas的DataFrame方法'join'使用'内部'合并来组合两个数据框。你想使用"外部"合并。你的联接行应该是:
df1 = df1.join(df2, how='outer')
见http://pandas.pydata.org/pandas-docs/version/0.13.1/generated/pandas.DataFrame.join.html