假设我有一个系列:
from pandas import Series
x = Series([2.3,6.7,1.2,8.0,7.5])
我想计算相关性。如果我这样做:
shift = x[:-1]
x = x[1:]
x.corr(shift)
因为系列会记住每个元素的原始索引,所以它按索引匹配它们,我总是得到1.0的相关性。
在没有手动编写自己的关联功能的情况下,最优雅的方法是什么? (我可以做,但我想要干净的代码。)
答案 0 :(得分:1)
我认为您需要shift
参数import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class ArrayListDemo{
List<String> list = new ArrayList<>();
list.add("abc");
list.add("xyz");
Iterator<String> itr = list.iterator();
while(itr.){
System.out.println(itr.next());
}
}
:
periods
或者:
from pandas import Series
x = Series([2.3,6.7,1.2,8.0,7.5])
shift = x.shift(periods=1)
print shift
0 NaN
1 2.3
2 6.7
3 1.2
4 8.0
dtype: float64
y = x[1:]
print y
1 6.7
2 1.2
3 8.0
4 7.5
dtype: float64
print y.corr(shift)
-0.429976085769
答案 1 :(得分:0)
x.corr(x.shift())
x.autocorr()