我log_return在一個名為test.py(見下文)的檔案中有一個簡單的函式 (),我正試圖用一個 doctest 來實作它。
import pandas as pd
def log_return(df):
'''Return the log return based on closing prices
>>> df = pd.DataFrame({'Close': [100, 101, 102, 99]}, index = pd.date_range('2022-01-01', periods=4, freq='D'))
>>> log_return(df)
Close r
2022-01-01 100 NaN
2022-01-02 101 0.009950
2022-01-03 102 0.009852
2022-01-04 99 -0.029853
'''
df['r'] = np.log(df['Close']).diff()
但是,當我嘗試從命令列(例如$ python test.py)執行 doctest 時,出現以下與空格相關的錯誤。我該如何解決這個錯誤?
ValueError: line 5 of the docstring for __main__.log_return has inconsistent leading whitespace: '2022-01-01 100 NaN'
uj5u.com熱心網友回復:
你需要像這樣縮進它:
'''
...
>>> log_return(df)
Close r
2022-01-01 100 NaN
2022-01-02 101 0.009950
2022-01-03 102 0.009852
2022-01-04 99 -0.029853
'''
請記住,檔案測驗看起來像互動式片段,因此在這種情況下,這意味著事物應該像在互動式會話中一樣對齊(提示和輸出)。
現在,一旦你解決了這個問題,測驗就會失敗,但這是一個單獨的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/412586.html
標籤:
