Создать фрейм данных Multindex pandas из списка объектов - PullRequest
0 голосов
/ 16 ноября 2018

Вот пример кода для получения списка объектов:

import numpy as np

class simpleobj():

    def __init__(self,name):
        self.attr1 = name
        self.attr2 = f"{name}_{np.random.randint(1,100)}"
        self.x= np.random.randint(1,100,size=(100,1))
        self.y1= np.random.randint(1,100,size=(100,1))
        self.y2= np.random.randint(1,100,size=(100,1))

objectlist=[simpleobj(i) for i in list('SAMPLETHINGTOWIRTENOIDEA') ]

Я хочу преобразовать этот список объектов в mi-dataframe.Я всегда получаю вложенные массивы в фрейме данных ... как получить мультииндексированный фрейм данных так:

| ---- индексы ---- |
attr1 |attr2 |х |у1 |y2
'S' |'S50' |1 |4 |3
'S' |'S50' |2 |5 | 10

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете использовать метод __dict__, чтобы извлечь атрибуты object, как это, и затем вы установите multi-index.

import pandas as pd
df = pd.DataFrame([obj.__dict__ for obj in objectlist]).set_index(['attr1', 'attr2'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...