2 回答

TA貢獻1744條經驗 獲得超4個贊
您可以使用與創建 DataFrame: 相同的功能pd.concat()
。它的第一個參數是要連接的 pandas Series 或 DataFrames 列表,因此stocks
應首先將其轉換為 Series。您可以使用 來做到這一點pd.Series()
,它還需要一個name
參數,您可以使用該參數來指定將成為列名的內容。最后,通過axis=1
topd.concat()
使其成為沿列的連接。
df = pd.concat([pd.Series(stocks, name='Symbol'), df], axis=1)

TA貢獻1821條經驗 獲得超5個贊
為什么不改變獲取數據的方式?
import datetime as dt
import pandas_datareader as pdr
stocks = ['asb.pl', 'plw.pl', 'ten.pl']
end = dt.datetime.now()
start = end - dt.timedelta(days=2)
print(start, end="\n\n")
df = pdr.get_data_stooq(symbols=stocks, start=start, end=end).stack("Symbols")
print(df)
輸出:
2020-04-29 17:21:12.690845
Attributes Close High Low Open Volume
Date Symbols
2020-04-30 asb.pl 3.28 3.39 3.280 3.37 128860
plw.pl 425.00 449.50 415.000 449.50 43509
ten.pl 419.50 444.00 410.500 440.00 23920
2020-04-29 asb.pl 3.32 3.38 3.245 3.25 144000
plw.pl 449.50 453.00 440.500 441.00 13464
ten.pl 431.00 435.00 415.500 416.50 24347
我想這也更有效率。
添加回答
舉報