gpt4 book ai didi

python - 将标签列添加到数据框

转载 作者:行者123 更新时间:2023-12-01 01:32:04 26 4
gpt4 key购买 nike

我有一个数据框架,其中我获取股票数据(OHLC)和日期作为索引。但是,股票代码名称并未显示在那里。所以,数据看起来像这样:

                open      high       low     close     volume
date
2013-10-11 63.7003 64.5963 63.4609 64.4619 66934938
2013-10-14 64.0718 65.0855 64.0090 64.8841 65474542
2013-10-15 65.0757 65.6637 64.8161 65.2294 80018603
2013-10-16 65.5054 65.7330 65.3014 65.5478 62775013
2013-10-17 65.3995 66.0273 65.3602 65.9907 63398335
2013-10-18 66.1856 66.6133 66.1490 66.5649 72635570

我有一个股票代码列表,我正在运行一个 for 循环来获取相同的内容,然后使用 concat/append 最终获取数据。不过,我想在这里添加股票代码。我该怎么做 ?

下面是最终输出:

                open      high       low     close     volume   ticker
date
2013-10-11 63.7003 64.5963 63.4609 64.4619 66934938 AAPL
2013-10-14 64.0718 65.0855 64.0090 64.8841 65474542 AAPL
2013-10-15 65.0757 65.6637 64.8161 65.2294 80018603 AAPL
2013-10-16 65.5054 65.7330 65.3014 65.5478 62775013 AAPL
2013-10-17 65.3995 66.0273 65.3602 65.9907 63398335 AAPL
.................
.................
.................
.................
2013-10-11 153.0422 154.3197 152.9154 154.2654 104967037 SPY
2013-10-14 153.3140 155.0083 153.1962 154.8815 111901876 SPY
2013-10-15 154.4919 155.0718 153.5496 153.7580 153958055 SPY
2013-10-16 154.6822 155.9869 154.6051 155.9053 161058684 SPY
2013-10-17 155.2711 157.0379 155.2439 156.9473 129004482 SPY

PS:我正在使用 iexfinance 库来获取历史价格。

最佳答案

我不熟悉 iexfinance 库。但是,假设您有一个神奇的函数 get_data_from_ticker ,顾名思义,它可以根据给定的股票行情输入获取数据,可能作为 pd.DataFrame 对象。

给定一个列表代码,您当前的流程可能如下所示:

dfs = []
for ticker in tickers:
data = get_data_from_ticker(ticker)
dfs.append(data)
df = pd.concat(dfs)

如果股票信息未存储在数据框中,这并不是特别有用。所以你可以使用pd.DataFrame.assign相应地添加系列:

dfs = []
for ticker in tickers:
data = get_data_from_ticker(ticker)
dfs.append(data.assign(ticker=ticker))
df = pd.concat(dfs)

最后,您可以通过使用列表理解来提高效率:

dfs = [get_data_from_ticker(ticker).assign(ticker=ticker) for ticker in tickers]

df = pd.concat(dfs)

关于python - 将标签列添加到数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52769696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com