簡體   English   中英

無法保存計算值導致 DataFrame

[英]Can't save computed values result in DataFrame

我正在構建一個包含來自 Yahoo Finance 的交易數據的 dataframe。

當我嘗試使用 for 循環為每只股票計算 Return 時,只有最后一個結果保存在 dataframe 中,而股票的 rest 是 Nan。

我假設除了最后一只股票之外,每只股票的計算收益都會被覆蓋,但不知道發生這種情況的原因是什么。

這是我的代碼:

  1. 從 Yahoo Finance 加載數據:
 trading_df = pd.DataFrame() for stock in test_stocks: st = web.DataReader(stock, 'yahoo', start, end) st['Symbol'] = stock trading_df = trading_df.append(st)
  1. 計算回報:
 for stock in test_stocks: trading_df['Return'] = trading_df[trading_df['Symbol'] == stock]['Adj Close'].pct_change(1)
  1. 結果:

渲染數據

提前致謝。

賦值時需要對 dataframe 進行切片

trading_df.loc[trading_df['Symbol'] == stock, 'Return'] = trading_df[trading_df['Symbol'] == stock]['Adj Close'].pct_change(1)

暫無
暫無

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

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