将字典转换为pandas DataFrame

3

我有这个字典:

diccionario = {'Monetarios':['B1','B2'],
            'Monetario Dinamico':['B1','B2'],
            'Renta fija corto plazo':['B1','B2'],
            'Garantizados de RF':['B1','B2'],
            'Renta Fija Largo Plazo':['B2','B3'],
            'Garantizados de RV':['B2','B3'],
            'Mixtos Renta Fija':['B2','B3'],
            'Mixtos Renta Variable':['B3','B4'],
            'Renta Variable':['B3','B4'],
            'Alternativos':['B3','B4'],
            'Fondos Inmobiliarios en Directo':['G3','G3'],
            'IIC de Inversion Libre':['G4','G4'],
            'IIC de IIC de Inversion Libre':['G4','G4'],
            'Money Markets':['B1','B2'],
            'Money Markets Enhanced':['B1','B2'],
            'Fixed Income Short Term':['B1','B2'],
            'Capital Guaranteed Funds':['B1','B2'],
            'Fixed Income Long Term':['B2','B3'],
            'Capital Guaranteed Equity Funds':['B2','B3'],
            'Mixed Fixed Income Funds':['B2','B3'],
            'Mixed Equity Funds':['B3','B4'],
            'Equity':['B3','B4'],
            'Alternatives':['B3','B4'],
            'Real State':['G3','G4'],
            'Hedge Funds':['G4','G4'],
            'Funds of Hedge Funds':['G4','G4'],
            'HARMONIZED':'G4',
            'HIGH_YLD_EMERGING_MARKETS':'B4'
           }

我希望你能将我使用的单词作为键放入数据框的第一列,并将对应键的值分配到其他列中,就像这样:

col 1       col 2     col 3
Monetarios    B1        B2
Monetar din.  B1        B2
Rent fija...  B1        B2

我刚刚用以下代码获得了第一个列: df_dict = pd.DataFrame(diccionario)
k3 = list(df_dict.columns.values)

感谢您的预先帮助。
1个回答

3

我认为你可以使用 Treset_index 来进行转置:

df = pd.DataFrame.from_dict(diccionario).T.reset_index()
df.columns = ['col1','col2','col3']
print (df)
                               col1 col2 col3
0                      Alternatives   B3   B4
1                      Alternativos   B3   B4
2   Capital Guaranteed Equity Funds   B2   B3
3          Capital Guaranteed Funds   B1   B2
4                            Equity   B3   B4
5            Fixed Income Long Term   B2   B3
6           Fixed Income Short Term   B1   B2
7   Fondos Inmobiliarios en Directo   G3   G3
8              Funds of Hedge Funds   G4   G4
9                Garantizados de RF   B1   B2
10               Garantizados de RV   B2   B3
11                       HARMONIZED   G4   G4
12        HIGH_YLD_EMERGING_MARKETS   B4   B4
13                      Hedge Funds   G4   G4
14    IIC de IIC de Inversion Libre   G4   G4
15           IIC de Inversion Libre   G4   G4
16               Mixed Equity Funds   B3   B4
17         Mixed Fixed Income Funds   B2   B3
18                Mixtos Renta Fija   B2   B3
19            Mixtos Renta Variable   B3   B4
20               Monetario Dinamico   B1   B2
21                       Monetarios   B1   B2
22                    Money Markets   B1   B2
23           Money Markets Enhanced   B1   B2
24                       Real State   G3   G4
25           Renta Fija Largo Plazo   B2   B3
26                   Renta Variable   B3   B4
27           Renta fija corto plazo   B1   B2

那几乎就是答案了,现在我需要将第一列作为列而不是索引。 - Borja_042
哈哈,太完美了!我没想到我能转置一个DataFrame。 - Borja_042
只有一个评论,关于完美。我的字典键已按字母顺序排序,如何删除字母顺序?类似sorted=False这样的东西? - Borja_042
这是一个问题,因为dict是无序的。 - jezrael
我不知道我必须接受答案,因为我是这个论坛的新手。 - Borja_042

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接