Pandas (n).corr()无论数据是什么,都卡在1上?
不管我输入了什么数据,我只得到1的系数作为回报Pandas (n).corr()无论数据是什么,都卡在1上?,pandas,Pandas,不管我输入了什么数据,我只得到1的系数作为回报 data = {"one":[1, 2, 3, 4, 5, 6, 7, 8]} compute = data["one"].rolling(3).corr() 0 NaN 1 NaN 3 1.0 4 1.0 5 1.0 6 1.0 7 1.0 我试图让它给我滚动相关性,但是我得到的回报表明我不明白这里发生了什么,或者我做错了什么 谢谢你我不知道你想做什么,但是fo
data = {"one":[1, 2, 3, 4, 5, 6, 7, 8]}
compute = data["one"].rolling(3).corr()
0 NaN
1 NaN
3 1.0
4 1.0
5 1.0
6 1.0
7 1.0
我试图让它给我滚动相关性,但是我得到的回报表明我不明白这里发生了什么,或者我做错了什么
谢谢你我不知道你想做什么,但是
foo.rolling(n).corr()
其中foo
是一个线性序列,它给出了线性序列与其移位自相关(如此相等的增长率),因此相关性定义为1。你自己看看:
import pandas as pd
d = {"one":[1, 2, 3, 4, 5, 6, 7, 8]}
data=pd.DataFrame(d)
compute = data["one"].rolling(3).corr()
for i in data["one"].rolling(3):
print(i)
返回:
Name: one, dtype: int64
0 1
1 2
Name: one, dtype: int64
0 1
1 2
2 3
Name: one, dtype: int64
1 2
2 3
3 4
Name: one, dtype: int64
2 3
3 4
4 5
Name: one, dtype: int64
3 4
4 5
5 6
Name: one, dtype: int64
4 5
5 6
6 7
Name: one, dtype: int64
5 6
6 7
7 8
Name: one, dtype: int64
这是不可复制的。您有不同的变量
d
和数据
。如果将data
更改为d
,则会得到:AttributeError:'list'对象没有属性“rolling”
,这不是使用corr()
的方式。这将引发:TypeError:corr()缺少1个必需的位置参数:“other”
@C8H10N4O2-缺少一行data=pd.DataFrame(d)
,那么它是可复制的。您可以计算一列的相关性而不产生错误,但它始终是1.0
(与自身的相关性)。你不需要“其他”。这就是为什么每一行都是1.0
@carlwalters-我想你需要解释一下你期望的输出。很可能你需要另一种方法@C8H10N4O2是正确的:人们通常不会这样使用corr
。感谢您对我编辑的d数据的反馈。