RangeIndex错误:
使用两个数据源尝试获取数据,quandl和x源(数据获取不是问题,但使用此方法进行逻辑抛出错误)对于quandl没有问题,但对于x源,这个RangeIndex错误来了。
我觉得这是因为索引编码问题不正确。
需要更改哪些内容才能在数据帧df1
中正确对齐x源Window.postMessage()
错误: month_index = df.index.to_period('M') AttributeError:'RangeIndex'对象没有属性'to_period' 在处理上述异常期间,发生了另一个异常:
我做的一些分析显示如下 列表的差异如下所示,其中df索引日期在线下面第一行(哪个工作正常)如果df1索引并打开低,则关闭所有放置在同一行中的所有错误。
下面给出了输出示例以便快速查看
quandl输出为df :(工作一个没有错误)
df=quandl.get("{0}".format(Ticker),start_date="2014-01-01", end_date="2018-01-26")
print(df.head(30))
df1 = get_history(symbol="{0}".format(Ticker),
start=dt.date(2015,1,1),
end=dt.date(2018,1,19))
df.reset_index(inplace=True)
print(df.head(30))
month_index =df.index.to_period('M')
x source out put是df1: (我在这里看到不一样的 Date O H L C 所有这一切都导致了问题)
Date Open High Low Last Close Total Trade Quantity
2017-12-14 1005.25 1015.00 999.30 1012.30 1013.10 3011786.0
2017-12-15 1013.00 1026.40 1011.85 1019.00 1022.90 5192067.0
2017-12-18 1011.90 1030.70 1005.80 1014.00 1016.60 2017724.0
2017-12-19 1017.45 1017.95 999.55 1006.65 1003.95 3559449.0
2017-12-20 1005.10 1018.60 1001.00 1016.35 1015.85 2093163.0
2017-12-21 1014.80 1028.95 998.40 1021.50 1022.05 5529581.0
如何纠正?使df1数据帧与df interms of index相同,使其看起来相同。
编辑原始帖子并更新: 从df = quandl.get如果我打印month_index以下是结果,我怀疑df1 = get_history没有返回相同的错误。还有其他替代方法可以通过吗?
Date Symbol Series Prev Close Open High Low Last
728 2017-12-08 INFY EQ 999.80 1001.00 1007.00 995.00 999.40
729 2017-12-11 INFY EQ 1001.85 994.95 1006.90 993.95 1005.40
730 2017-12-12 INFY EQ 1005.30 1002.00 1014.00 1002.00 1010.50
731 2017-12-13 INFY EQ 1010.50 1010.90 1019.00 997.65 1005.00
732 2017-12-14 INFY EQ 1003.75 1005.25 1015.00 999.30 1012.30
733 2017-12-15 INFY EQ 1013.10 1013.00 1026.40 1011.85 1019.00
答案 0 :(得分:2)
评论
df.reset_index(inplace=True)
这是因为索引的类型为string
。将索引转换为datetime
类型,然后对其应用操作。
df.index = pd.to_datetime(df.index)
month_index = df.index.to_period('M')