Python 向数据帧添加标签列
我有一个数据框,在那里我得到股票数据(OHLC)和日期作为指数。但是,这里没有显示股票代码名称。 因此,数据如下所示:Python 向数据帧添加标签列,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个数据框,在那里我得到股票数据(OHLC)和日期作为指数。但是,这里没有显示股票代码名称。 因此,数据如下所示: open high low close volume date 2013-10-11 63.7003 64.5963 63.4609 64.4619 66934938 2013
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
注:我正在使用iexfinance库获取历史价格。我不熟悉
iexfinance
库。但是假设您有一个神奇的函数get\u data\u from\u ticker
,顾名思义,该函数可以作为pd.DataFrame
对象获取给定ticker输入的数据
给定一个列表tickers
,您当前的流程可能如下所示:
dfs = []
for ticker in tickers:
data = get_data_from_ticker(ticker)
dfs.append(data)
df = pd.concat(dfs)
如果您的数据帧中没有存储股票代码信息,那么这并不是特别有用。因此,您可以使用添加相应的系列:
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)
您也可以考虑使用生成器表达式而不是列表理解,将迭代传递给