Как преобразовать объект frozendict во фрейм данных панд

1

У меня есть следующий объект frozendict:

from frozendict import frozendict
my_object = frozendict({'Mn1': 3.9499512091579208, 'Gpsm1': 3.9499512091579208, 'Fam171a1': 3.029245020494556, 'Igfbp5': 6.642908688236191})

Тогда это выглядит так:

In [95]: my_object
Out[95]: <frozendict {'Mn1': 3.9499512091579208, 'Gpsm1': 3.9499512091579208, 'Fam171a1': 3.029245020494556, 'Igfbp5': 6.642908688236191}>

Как я могу преобразовать это в кадр данных pandas?

Я пробовал это, но не смог:

In [98]: import pandas as pd

In [99]: pd.DataFrame.from_dict(my_object)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-99-68a940d78eca> in <module>()
----> 1 pd.DataFrame.from_dict(my_object)

~/anaconda2/envs/py36/lib/python3.6/site-packages/pandas/core/frame.py in from_dict(cls, data, orient, dtype, columns)
    983             raise ValueError('only recognize index or columns for orient')
    984
--> 985         return cls(data, index=index, columns=columns, dtype=dtype)
    986
    987     def to_dict(self, orient='dict', into=dict):

~/anaconda2/envs/py36/lib/python3.6/site-packages/pandas/core/frame.py in __init__(self, data, index, columns, dtype, copy)
    420                                          dtype=values.dtype, copy=False)
    421             else:
--> 422                 raise ValueError('DataFrame constructor not properly called!')
    423
    424         NDFrame.__init__(self, mgr, fastpath=True)
  • 0
    Где код, который создает это? Или хотя бы какой-то код, который создает фиктивную версию этого?
  • 0
    @coldspeed Я обновил свой OP.
Теги:
pandas

2 ответа

1
Лучший ответ

Для меня рабочий добавить параметр orient='index':

df = pd.DataFrame.from_dict(my_object, orient='index')
print (df)
                 0
Mn1       3.949951
Gpsm1     3.949951
Fam171a1  3.029245
Igfbp5    6.642909

И при необходимости также columns параметров:

df = pd.DataFrame.from_dict(my_object, orient='index', columns=['col'])
print (df)
               col
Mn1       3.949951
Gpsm1     3.949951
Fam171a1  3.029245
Igfbp5    6.642909
1

Вы можете указать orient='index' для создания DataFrame с использованием клавиш словаря в виде строк:

pd.DataFrame.from_dict(my_object, orient='index')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню