Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将嵌套字典中的数据帧添加到自己的列中_Python_Pandas_Concat - Fatal编程技术网

Python 将嵌套字典中的数据帧添加到自己的列中

Python 将嵌套字典中的数据帧添加到自己的列中,python,pandas,concat,Python,Pandas,Concat,我有一本超过10000个帐户的嵌套字典。我需要一个可靠的解决方案。下面是一个需要缩放为n的示例 嵌套字典如下所示,其中acct#作为键: {'Acct301': ds trend yhat y 0 2018-05-01 00:00:00 1.268612 0.679369 2.554900 1 2018-05-01 01:00:00

我有一本超过10000个帐户的嵌套字典。我需要一个可靠的解决方案。下面是一个需要缩放为n的示例

嵌套字典如下所示,其中acct#作为键:

 {'Acct301':                     
                  ds         trend      yhat         y
 0   2018-05-01 00:00:00  1.268612    0.679369    2.554900       
 1   2018-05-01 01:00:00  1.268372    0.089233    2.022369      
 2   2018-05-01 02:00:00  1.268132   -0.256185    1.640524    

 [744 rows x 19 columns],

'Acct2':        
          ds                trend       yhat          y  
 0   2018-05-01 00:00:00  0.575119   -0.456240    1.26193       
 1   2018-05-01 01:00:00  0.575140   -0.687562    1.033594       
 2   2018-05-01 02:00:00  0.575161   -0.795286    0.906530  
[744 rows x 19 columns]}
我需要数据框将帐户#放在它自己的列中

我尝试了以下代码:

df= pd.concat(dict.values(), ignore_index= True)
此输出几乎可以工作,但没有Acct#,我得到以下结果:

             ds            trend       yhat         y  
 0  2018-05-01 00:00:00  1.268612    0.679369    2.554900        
 1  2018-05-01 01:00:00  1.268372    0.089233    2.022369
 2  2018-05-01 02:00:00  0.575161   -0.795286    0.906530 
 3  2018-05-01 00:00:00  0.575119   -0.456240    1.26193       
 4  2018-05-01 01:00:00  0.575140   -0.687562    1.033594       
 5  2018-05-01 02:00:00  0.575161   -0.795286    0.906530  
我期望的输出如下所示

    Acct #          ds            trend       yhat         y  
 0   Acct1   2018-05-01 00:00:00  1.268612    0.679369    2.554900        
 1   Acct1   2018-05-01 01:00:00  1.268372    0.089233    2.022369
 2   Acct1   2018-05-01 02:00:00  0.575161   -0.795286    0.906530 
 3   Acct2   2018-05-01 00:00:00  0.575119   -0.456240    1.26193       
 4   Acct2   2018-05-01 01:00:00  0.575140   -0.687562    1.033594       
 5   Acct2   2018-05-01 02:00:00  0.575161   -0.795286    0.906530

假设字典是
d
。将
pd.concat
的选项
与一些清理命令一起使用

df = (pd.concat(d.values(), keys=d.keys())
        .reset_index()
        .drop('level_1',1).rename(columns={'level_0': 'Acct#'}))

Out[207]:
   Acct#                   ds     trend      yhat         y
0  Acct1  2018-05-01 00:00:00  1.268612  0.679369  2.554900
1  Acct1  2018-05-01 01:00:00  1.268372  0.089233  2.022369
2  Acct1  2018-05-01 02:00:00  1.268132 -0.256185  1.640524
3  Acct2  2018-05-01 00:00:00  0.575119 -0.456240  1.261930
4  Acct2  2018-05-01 01:00:00  0.575140 -0.687562  1.033594
5  Acct2  2018-05-01 02:00:00  0.575161 -0.795286  0.906530

假设字典是
d
。将
pd.concat
的选项
与一些清理命令一起使用

df = (pd.concat(d.values(), keys=d.keys())
        .reset_index()
        .drop('level_1',1).rename(columns={'level_0': 'Acct#'}))

Out[207]:
   Acct#                   ds     trend      yhat         y
0  Acct1  2018-05-01 00:00:00  1.268612  0.679369  2.554900
1  Acct1  2018-05-01 01:00:00  1.268372  0.089233  2.022369
2  Acct1  2018-05-01 02:00:00  1.268132 -0.256185  1.640524
3  Acct2  2018-05-01 00:00:00  0.575119 -0.456240  1.261930
4  Acct2  2018-05-01 01:00:00  0.575140 -0.687562  1.033594
5  Acct2  2018-05-01 02:00:00  0.575161 -0.795286  0.906530