如何将字典元组转换为有组织的数据框?

taw*_*ito 2 python dictionary tuples dataframe pandas

我正在提取一个 API,它以下面的格式检索数据。

     data = ({'2019-12-20': {'SMA': '216.0037'},
              '2019-12-19': {'SMA': '215.4711'},
              '2019-12-18': {'SMA': '214.9335'},
              '2019-12-17': {'SMA': '214.4074'}})
Run Code Online (Sandbox Code Playgroud)

目前,当我尝试运行“data = pd.DataFrame(data)”时,它返回一个包含 2 行的数据帧,该数据帧使用每个日期作为单独的列,并为每一行提供一个字典作为值(下面的示例)。

           2019-12-20       |       2019-12-19     |      2019-12-18
 0  "{ 'SMA' : '216.0037' } |  {'SMA': '215.4710"} | {'SMA': '214.9335'}
 1            NaN           |         NaN          |        NaN
Run Code Online (Sandbox Code Playgroud)

我想弄清楚如何按照以下格式将这些数据转换为数据帧。

        date     |   SMA
 ----------------------------
 0  '2019-12-20' | '216.0036'
 1  '2019-12-19' | '215.4711'
 2  '2019-12-18' | '214.9335'
 3  '2019-12-17' | '214.4047'
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激!

WeN*_*Ben 5

国际大学联盟

pd.DataFrame(data).T.reset_index().rename(columns={'index':'date'})
         date       SMA
0  2019-12-20  216.0037
1  2019-12-19  215.4711
2  2019-12-18  214.9335
3  2019-12-17  214.4074
Run Code Online (Sandbox Code Playgroud)

或者 from_dict

pd.DataFrame.from_dict(data,'index').reset_index().rename(columns={'index':'date'})
                 SMA
2019-12-17  214.4074
2019-12-18  214.9335
2019-12-19  215.4711
2019-12-20  216.0037
Run Code Online (Sandbox Code Playgroud)