提问人:tutizeri 提问时间:8/22/2020 最后编辑:tutizeri 更新时间:8/22/2020 访问量:2994
计算每周增长率时出现错误“不支持 RangeIndex 类型”
Error 'Not supported for type RangeIndex' when calculating weekly grow rate
问:
我有一个这样的数据帧 MyDf
MyDate MyData
2020-06-02 4588.0
2020-06-03 4555.5
2020-06-04 4604.3
2020-06-05 4634.1
2020-06-06 4617.8
2020-06-07 4598.9
2020-06-08 4596.1
2020-06-09 4607.0
2020-06-10 4601.6
2020-06-11 4547.4
我想这样计算 MyData 列的每周增长率:
#'WeeklyRate'='MyData'/pastweek('MyData')
from pandas.tseries.offsets import Week
MyDf['WeeklyRate'] = ((MyDf['MyData'] / MyDf['MyData'].shift(1, freq=Week()).reindex(MyDf['MyDate'].index))
.fillna(value=-1)
.astype(float))
#ToDo:not sure if .astype(float)
但是当我运行最后一行时,我收到错误“不支持 RangeIndex 类型”。 我做错了什么?
答:
0赞
Active_Learner
8/22/2020
#1
我认为如果您将“MyDate”设置为索引,它将:)解决
MyDf = MyDf.set_index("MyDate")
MyDf['WeeklyRate'] = MyDf['MyData'] / MyDf['MyData'].shift(1, freq=Week())
MyDf['WeeklyRate'] = MyDf["WeeklyRate"].fillna(value=-1)
评论
0赞
tutizeri
8/22/2020
我有 MyDf.set_index(“MyDate”) 而不是 MyDf = MyDf.set_index(“MyDate”)
上一个:我的代码在维基百科中找不到表格
下一个:为什么此函数不返回变量
评论