我有两个数据帧。每个数据帧中有两个相同的列。我可以很好地绘制它,日期时间正确显示为x轴上的索引。
dfEURUSD的索引'TimeStamp'
与dfGBPUSD的数据帧不同。我试图让它们具有相同的长度并重新采样丢失的数据,以便两个时间序列的长度相同。但是我遇到了麻烦:
def union(a, b):
""" return the union of two lists """
return list(set(a) | set(b))
print(len(dfEURUSD.index))
print(len(dfGBPUSD.index))
newindex = union(dfEURUSD.index, dfGBPUSD.index)
newindex = sorted(set(newindex))
print(len(newindex))
print(newindex)
这给出了这个输出
151527
113903
264664
[Timestamp('2015-11-12 17:49:15.512000'), Timestamp('2015-11-12 17:49:15.523000'), Timestamp('2015-11-12 17:49:15.540000'), Timestamp('2015-11-12 17:49:15.727000'), Timestamp('2015-11-12 17:49:16.059000'), Timestamp('2015-11-12 17:49:16.301000'), etc...
如果我尝试使用
重新编制索引dfEURUSD.reindex(newindex, method='ffill')
dfGBPUSD.reindex(newindex, method='ffill')
给出错误:
File "/home/idf/anaconda3/lib/python3.5/site-packages/pandas/core/index.py", line 2133, in reindex
raise ValueError("cannot reindex a non-unique index "
ValueError: cannot reindex a non-unique index with a method or limit
不确定我做错了什么?