我有一個看起來像這樣的資料系列:
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' object is not iterable' error with .extend()],但 .append() 似乎沒有添加到串列中每個回圈。
感謝任何幫助,以及對我所犯錯誤的任何建議,所以我下次可以留意它!謝謝
uj5u.com熱心網友回復:
在您的代碼中,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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/430298.html
