Python dict到df

Python dict到df,python,pandas,for-loop,Python,Pandas,For Loop,我有一组可以通过股票数据API获得的数据,数据量以及股票如何取决于用户的请求。我从API收到的数据是作为字典提供的 例如: {'YAR': last date 2020-07-10 336.4 2020-07-13 344.0 2020-07-14 344.3, 'DNB': last date 2020-07-10 129.60 2020-07-13 142.4

我有一组可以通过股票数据API获得的数据,数据量以及股票如何取决于用户的请求。我从API收到的数据是作为字典提供的

例如:

{'YAR':              last
 date             
 2020-07-10  336.4
 2020-07-13  344.0
 2020-07-14  344.3,
 'DNB':               last
 date              
 2020-07-10  129.60
 2020-07-13  142.45
 2020-07-14  145.50,
 'NHY':              last
 date             
 2020-07-10  27.35
 2020-07-13  28.56
 2020-07-14  28.50}
是否可以在Python中编写for循环,其中对于字典中的每个键,它将创建一个新的pandas数据帧行,并将其值和日期作为索引

所以数据框看起来像这样

我尝试过这样的方法,我调用了API今天提供的字典:

tickerlist = ['YAR','DNB','NHY']
df = pd.DataFrame(columns=tickerlist)

for ticker in tickerlist:
    df = df.append(pd.DataFrame.from_dict(dataToday[ticker]))
但这给了我一个数据框,看起来像这样:


我知道这可能是一个愚蠢或简单的问题,所有的想法都是值得赞赏的。谢谢!:)

您的数据不是json/dict,我假设数据是

data_as_dict = {
'YAR': { 'date' : [ '2020-07-10',  '2020-07-13',  '2020-07-14'], 'last' : [336.4, 344.0, 344.3] },
'DNB': { 'date' : [ '2020-07-10',  '2020-07-13',  '2020-07-14'], 'last' : [129.60, 142.45, 145.50] },
'NHY': { 'date' : [ '2020-07-10',  '2020-07-13',  '2020-07-14'], 'last' : [27.35, 28.56, 28.50] }
}

import pandas as pd

list_of_sub_dfs = []

for stock_dict in data_as_dict:
    sub_class = pd.DataFrame.from_dict(data_as_dict[stock_dict], orient="columns")
    sub_class.set_index('date')
    sub_class.columns = [stock_dict]
    
    list_of_sub_dfs.append(sub_class)
如果没有一个循环,它可能会做得更漂亮,但是想不出一个明显的方法来做到这一点

例如使用

pd.concat(list_of_sub_dfs,axis=1)
要将它们连接到:

              YAR     DNB    NHY
date                            
2020-07-10  336.4  129.60  27.35
2020-07-13  344.0  142.45  28.56
2020-07-14  344.3  145.50  28.50

请用适当的dict更新您的问题,因为发布的问题格式不正确且不可理解。@Jab这本字典是我请求数据时提供的API,不幸的是,API没有给我选择如何接收数据的选项。无论如何,我已经更新了我的问题,有了一些突破。