我下載了 DataFrames(取決于變數“assets”中有多少資產)并使用globals().
現在,我需要一個回圈來獲取每個創建的變數,以使用這些變數執行其他任務。
在此之前,我需要“保存”創建的變數,也許在某種字典中?
start = "2019-01-01"
end = "2020-01-01"
assets = ["FB" , "AMZN" , "AAPL" , "NFLX" , "GOOG"]
i = 0
while (i < len(assets)):
try:
globals()["Stock_%s" %assets[i]] = pd.DataFrame(web.DataReader(assets[i] , "yahoo" , start , end))
i = 1
except:
break
print("Error")
創建的 DataFrame 被稱為:
Stock_FB
Stock_AMZN
etc..
任何幫助,將不勝感激。
uj5u.com熱心網友回復:
通過賦值來創建變數globals()本身不僅不必要地困難,而且使之后對結果的迭代也變得不必要地困難。完全避免它;代替:
i = 0
while (i < len(assets)):
try:
globals()["Stock_%s" %assets[i]] = pd.DataFrame(web.DataReader(assets[i] , "yahoo" , start , end))
i = 1
except:
break
print("Error")
做:
stocks = {
asset: pd.DataFrame(web.DataReader(asset, "yahoo", start, end))
for asset in assets
}
現在,如果您想對您創建的每個資料框做一些事情,您可以執行以下操作:
for stock_data in stocks.values():
# do something with 'stock_data'
如果您需要對符號 (FB等) 執行某些操作,請執行以下操作:
for symbol, stock_data in stocks.items():
# do something with 'symbol' and 'stock_data'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/345078.html
上一篇:查找和替換熊貓只索引每一行
下一篇:基于多個if條件創建列
