我有一个API调用,它在for循环中返回给定股票代码的日期和调整后的收盘价。
有1100个唯一的股票代码x 252天,我想创建一个1100x252的 Dataframe ,索引为日期。
问题是我一次只能查询一个API代码,它返回下面的(前几行的示例),这是AAPL的:
[{'date': '2020-01-02T00:00:00.000Z', 'adjClose': 73.4677943274},
{'date': '2020-01-03T00:00:00.000Z', 'adjClose': 72.7535410914},
{'date': '2020-01-06T00:00:00.000Z', 'adjClose': 73.3332603275},
{'date': '2020-01-07T00:00:00.000Z', 'adjClose': 72.9883640731},
{'date': '2020-01-08T00:00:00.000Z', 'adjClose': 74.1624789816},
{'date': '2020-01-09T00:00:00.000Z', 'adjClose': 75.7377498172},
{'date': '2020-01-10T00:00:00.000Z', 'adjClose': 75.908974908}]
我尝试创建的是一个循环,它提取adjClose
,并将它们合并到一个主 Dataframe 中。
我目前正在通过以下途径进行循环:
tickers = list(data.ticker.unique)
for ticker in tickers:
api_call = reqests.get(f'api_call_from_site.com/stonkz&ticker={tickers}')
df = pd.DataFrame(api_call.json())
然后我想把每个特定API调用中的adjClose
连接到“master dataframe”,但是我不知道从哪里开始,看起来像下面这样:
注:AAPL(和其他股票代码)的值与上述类似。
date AAPL TSLA AMD NVDA etc
2020-01-02 75 110 65 205 100
2020-01-03 76 111 66 206 101
2020-01-04 77 112 67 207 102
2020-01-05 78 113 68 208 103
2020-01-06 79 114 69 209 104
2020-01-07 80 115 70 210 105
2020-01-08 81 116 71 211 106
2020-01-09 82 117 72 212 107
2020-01-10 83 118 73 213 108
任何和所有的帮助都是感激的,并提前感谢你。
1条答案
按热度按时间gwbalxhn1#
第一个想法是通过append创建
Series
的列表,然后加入concat
:或者创建字典列表
out
和具有转置的最后调用DataFrame
: