我们说我已经从两个单独的文件中提取了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文件的日期之间的差异的一些较小的子集。我想要的是一种创建单个数据框的方法,该数据框包含2列(“A' A'列”),其中包含自动填充的非重叠日期的NaN或零值。有没有一个简单的解决方案,或者有什么我可能会在这里失踪。非常感谢。
答案 0 :(得分:3)
默认情况下,pandas DataFrame方法'join'使用'inner'合并组合两个数据帧。你想使用'外部'合并。您的连接线应为:
df1 = df1.join(df2, how='outer')
请参阅http://pandas.pydata.org/pandas-docs/version/0.13.1/generated/pandas.DataFrame.join.html