2 回答

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

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
為什么不改變獲取數(shù)據(jù)的方式?
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
我想這也更有效率。
添加回答
舉報(bào)