Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.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 将多个词典合并为一个DF_Python_Pandas_Dataframe_Dictionary - Fatal编程技术网

Python 将多个词典合并为一个DF

Python 将多个词典合并为一个DF,python,pandas,dataframe,dictionary,Python,Pandas,Dataframe,Dictionary,我有三本字典,我们称之为:W,E,T 这些字典看起来像: W = {'name': [1, 2, 3], 'prob': [0.2, 0.3, 0.5], 'div': [5, 3, 2], 'pos':[2, 1, 3]} E = {'name': [[1,2], [2,1], [1, 3], [2, 3]], 'prob': [0.3, 0.2, 0.1, 0.4], 'div': [3, 5, 10, 2.5], 'pos':[[2, 1], [1, 2], [2, 3], [1, 3]]

我有三本字典,我们称之为:W,E,T

这些字典看起来像:

W = {'name': [1, 2, 3], 'prob': [0.2, 0.3, 0.5], 'div': [5, 3, 2], 'pos':[2, 1, 3]}
E = {'name': [[1,2], [2,1], [1, 3], [2, 3]], 'prob': [0.3, 0.2, 0.1, 0.4], 'div': [3, 5, 10, 2.5], 'pos':[[2, 1], [1, 2], [2, 3], [1, 3]]}
T = {'name': [[1,2,3], [2,1,3], [3,1,2]], 'prob': [0.3, 0.02, 0.68], 'div': [3, 50, 1.5], 'pos':[[2,1,3], [1,2,3], [3, 2, 1]]}
我不知道如何将这三个DF组合成一个DF,看起来像:

name    prob   div   pos
1        0.2    5     2
2        0.3    3     1
3        0.5    2     3
[1,2]    0.3    3     [2, 1]
[2,1]    0.2    5     [1, 2]
[1,3]    0.1    10    [2, 3]
[2,3]    0.4    2.5   [1, 3]
[1,2,3]  0.3    3     [2, 1, 3]
[2,1,3]  0.02   50    [1, 2, 3]
[3,1,2]  0.68   1.5   [3, 2, 1]
我试着用

mydicts = [W,E,T]

pd.DataFrame(mydicts)
Out[1162]: 
                                name                  prob              div  \
0                          [1, 2, 3]       [0.2, 0.3, 0.5]        [5, 3, 2]   
1   [[1, 2], [2, 1], [1, 3], [2, 3]]  [0.3, 0.2, 0.1, 0.4]  [3, 5, 10, 2.5]   
2  [[1, 2, 3], [2, 1, 3], [3, 1, 2]]     [0.3, 0.02, 0.68]     [3, 50, 1.5]   

                                 pos  
0                          [2, 1, 3]  
1   [[2, 1], [1, 2], [2, 3], [1, 3]]  
2  [[2, 1, 3], [1, 2, 3], [3, 2, 1]]  
但这似乎只是将字典值嵌套到列中,而不将它们分隔成行。

尝试以下方法:

pd.concat([pd.DataFrame(W), pd.DataFrame(E), pd.DataFrame(T)])

使用
concat
和一个列表comp
pd.concat([W,E,T]]0中d的[pd.DataFrame.from_dict(d)]
使用
pd.DataFrame。from_dict
要读取字典,它有一些参数可以让您指定读取对象的轴。