Создание Dataframes в пределах oop итерации по спискам и словарям - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь создать итератор, который создает один DataFrame за раз, который включает каждый элемент списка списков упорядоченных словарей.

Первая часть кода, я разрабатываю функцию для выравнивания Упорядочил иерархические словари, которые у меня есть в списке «list_2». Каждый «list_2» является списком внутри списка «list_1».

Во второй части я включаю каждый плоский словарь из «list_2» в виде строки в фрейм данных, а затем, когда первая группа сглаживает словари по окончании я присвоил результат "first_df".

Третья часть повторяет процесс второй части, назначая вторую группу уплощенных словарей в "list_2" для "second_df ·.

My Цель состоит в том, чтобы создать эффективный и автоматизированный c способ назначения n групп выровненных словарей для n фреймов данных.

Заранее благодарим за помощь.

from collections import OrderedDict
import pandas as pd


def flatten_dict(d):
    def items():
        for key, value in d.items():
            if isinstance(value, dict):
                for subkey, subvalue in flatten_dict(value).items():
                    yield key + "." + subkey, subvalue
            else:
                yield key, value

    return OrderedDict(items())

df2=pd.DataFrame()
m=0
z=1
w=1
for list_2 in list_1[m:z]:
    for elem in list_2:
        dict_flattened = flatten_dict(elem)
        df = pd.DataFrame.from_dict(dict_flattened,'index').transpose()
        df2 = pd.concat([df, df2],ignore_index = True)
        print(df2.shape)
first_df = df2


m+=w
z+=w
df2=pd.DataFrame()
for list_2 in list_1[m:z]:
    for elem in list_2:
        dict_flattened = flatten_dict(elem)
        df = pd.DataFrame.from_dict(dict_flattened,'index').transpose()
        df2 = pd.concat([df, df2],ignore_index = True)
        print(df2.shape)
second_df = df2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...