簡體   English   中英

如何將打印語句的輸出轉換為python中的數據幀?

[英]How to convert an output of print statements into a dataframe in python?

我無法將以下代碼的輸出轉換為它自己的單個數據幀。 我曾嘗試創建一個列表並將其附加到一個列表中,但是我收到一個錯誤,指出 df.append() 只能有一個輸入。

import pandas as pd
import numpy as np
import yfinance as yf
import datetime as dt
from matplotlib import pyplot as plt
end = dt.datetime.now()
start = dt.date(end.year-20, end.month, end.day)
ticker= yf.Ticker('SPY')
df = ticker.history(interval = "1d", start = start, end = end)
df['TimeDate'] = df.index
df = df[['TimeDate','Close']]
retracement = 0.95
retracements = 0
retracementdays = 0
currenthigh = 0
retracementdays = 0
currenthigh = 0
for index,row in df.iterrows():
     if row['Close'] >= currenthigh:
        currenthigh = row['Close']
        retracementdays = 0
        print("All Time Highs",retracementdays)
     elif retracement*currenthigh <= row['Close'] <= currenthigh and retracementdays == 0: 
        print(row['TimeDate'],"Between All Time Highs and Retracement",retracementdays)
     elif row['Close'] <= retracement*currenthigh and retracementdays == 0: 
        retracementdays = retracementdays + 1
        retracements = retracements + 1
        print(row['TimeDate'], "Retracements",retracementdays)
    elif row['Close'] <= currenthigh and retracementdays != 0: # Under a retracement
        retracementdays = retracementdays + 1
        print(row['TimeDate'],"Under a Retracement to All Time Highs",retracementdays)

有人可以幫我把這段代碼的輸出變成它自己的數據幀嗎?

看起來您還沒有將df.append應用到您提供的代碼中。

是的,我不確定 df.append 是否會起作用,因為我正在傳遞多個值。 我的打印語句有 3 個值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM