pandas 自相关中不附加在 for 循环中的列表
List which doesn't append in a for loop in pandas autocorrelation
我有一个如下所示的数据系列:
Date Open High Low Adj Close Change
4844 26/10/2020 3441.419922 3441.419922 3233.939941 3269.959961 -5.243488
4845 02/11/2020 3296.199951 3529.050049 3279.739990 3509.439941 6.076183
4846 09/11/2020 3583.040039 3645.989990 3511.909912 3585.149902 0.058850
4847 16/11/2020 3600.159912 3628.510010 3543.840088 3557.540039 -1.198015
4848 20/11/2020 3579.310059 3581.229980 3556.850098 3557.540039 -0.611940
我正在尝试创建一个新列表,其中包含通过 for 循环的各种回顾期的自相关系数。我试过这个:
import pandas as pd
Df = pd.read_csv("SP500 Weekly Data.csv", delimiter=",")
Df.fillna('')
Df['Change'] = ((Df['Adj Close'] - Df['Open']) / Df['Adj Close']*100)
for t in range(1,20):
wk = []
auto = Df['Change'].autocorr(t).astype(float)
wk.append(auto)
print(wk)
但我从打印中得到的不是值列表,而是最后一个值:
[0.002519726414980291]
起初我认为这是返回值的类型[我得到了一个''numpy.float64'对象不可迭代'错误与.extend()],但.append()似乎没有在每个循环中添加到列表中。
感谢任何帮助,以及对我所犯错误的任何建议,以便下次注意!谢谢
在您的代码中,wk 列表每次都被初始化为空,因此您需要像下面那样将它放在循环之外才能工作。
import pandas as pd
Df = pd.read_csv("SP500 Weekly Data.csv", delimiter=",")
Df.fillna('')
Df['Change'] = ((Df['Adj Close'] - Df['Open']) / Df['Adj Close']*100)
wk = []
for t in range(1,20):
auto = Df['Change'].autocorr(t).astype(float)
wk.append(auto)
print(wk)
我有一个如下所示的数据系列:
Date Open High Low Adj Close Change
4844 26/10/2020 3441.419922 3441.419922 3233.939941 3269.959961 -5.243488
4845 02/11/2020 3296.199951 3529.050049 3279.739990 3509.439941 6.076183
4846 09/11/2020 3583.040039 3645.989990 3511.909912 3585.149902 0.058850
4847 16/11/2020 3600.159912 3628.510010 3543.840088 3557.540039 -1.198015
4848 20/11/2020 3579.310059 3581.229980 3556.850098 3557.540039 -0.611940
我正在尝试创建一个新列表,其中包含通过 for 循环的各种回顾期的自相关系数。我试过这个:
import pandas as pd
Df = pd.read_csv("SP500 Weekly Data.csv", delimiter=",")
Df.fillna('')
Df['Change'] = ((Df['Adj Close'] - Df['Open']) / Df['Adj Close']*100)
for t in range(1,20):
wk = []
auto = Df['Change'].autocorr(t).astype(float)
wk.append(auto)
print(wk)
但我从打印中得到的不是值列表,而是最后一个值:
[0.002519726414980291]
起初我认为这是返回值的类型[我得到了一个''numpy.float64'对象不可迭代'错误与.extend()],但.append()似乎没有在每个循环中添加到列表中。
感谢任何帮助,以及对我所犯错误的任何建议,以便下次注意!谢谢
在您的代码中,wk 列表每次都被初始化为空,因此您需要像下面那样将它放在循环之外才能工作。
import pandas as pd
Df = pd.read_csv("SP500 Weekly Data.csv", delimiter=",")
Df.fillna('')
Df['Change'] = ((Df['Adj Close'] - Df['Open']) / Df['Adj Close']*100)
wk = []
for t in range(1,20):
auto = Df['Change'].autocorr(t).astype(float)
wk.append(auto)
print(wk)