我试着每30天用scipy的pearsonr函数计算两个列表之间的相关性。在
一个列表包含日期(称为dateValues),另一个列表包含销售额(称为saleNumbers)。我已经用日期时间.strptime前面,如果我打印出日期值,我会得到一个任意长度的日期范围。在
datetime.datetime(2016, 8, 12, 0, 0), datetime.datetime(2016, 8, 11, 0, 0), datetime.datetime(2016, 8, 10, 0, 0)...etc
下面是销售清单:
^{pr2}$但是当我这么做的时候
pearsonr(dateValues,saleNumbers)
我知道错误了
TypeError: unsupported operand type(s) for +: 'datetime.datetime' and 'datetime.datetime'
经过无休止的搜索,我发现人们可以使用日期时间.日期在日期之间做算术运算。在
所以我这样做了:
print(datetime.date(dateValues[0]) - datetime.date(dateValues[29]))
当然,这给了我30天的时间差。在
所以我试了一下:
皮尔逊(日期时间.日期(日期值[0])-日期时间.日期(日期值[29]),销售数字)
但是我得到了这个错误
TypeError: len() of unsized object
有什么办法让我继续下去吗?我也不认为日期时间.日期(日期值[0])-日期时间.日期(dateValues[2])是在查找相关性时处理日期列表的正确python方法。在
PS:在这张图片中,是一个Excel电子表格,显示了我已经完成的工作,但是试图用Python复制:http://i.imgur.com/0Fj36Al.jpg
你可以试试这样的方法:
先将它们转换为数值:
Perason关联不受任何轴上缩放或平移的影响(仿射变换)
相关问题 更多 >
编程相关推荐