Преобразование Dataframe в определенный словарь? - PullRequest
0 голосов
/ 13 июня 2019

У меня есть фрейм данных (datfrm), состоящий из 15000 строк и 50 столбцов следующим образом:

    datfrm:

    Id,         date,      f1,  f2,   …,    f48
    01,   01-01-2017,      23,  12,   …,         32
    01,   01-02-2017,      03,  22,   …,         21
    01,   01-03-2017,      44,  12,   …,         36
            ---
    01,   01-12-2017,      62,   8,   …,         43
    02,   01-01-2017,      21,  11,   …,         23
            ….
    0n,   01-12-2017,      33,  23,  ….,         29

Я хочу преобразовать этот фрейм данных в словарь с 12 ключами, где каждый ключ (m1, m2,…, m12) содержит данные, которые имеют «дату» в этом конкретном месяце, например, январь или февраль. Другими словами Я хочу сгруппировать их по «дате» в 12 ключах в словаре. Мне также нужно сохранить индекс строк при их преобразовании в словарь. Так что мой желаемый словарь должен выглядеть так:

 m_dict.keys():

          dict_keys(['m1', 'm2', 'm3', 'm4', 'm5', 'm6',       
                 'm7','month8', 'm9', 'm10', 'm11', 'm12']) 

     m_dict[‘m1’]:
            Id,      date,          f1,     f2,  …,         f48
            01,      01-01-2017,    23,     12,      …,      32
            02,      01-01-2017,    21,     11,      …,      23
            03,      01-01-2017,    17,      3,      …,      32

1 Ответ

1 голос
/ 13 июня 2019

Попробуйте:

# convert to date if needed
df.date = pd.to_datetime(df.date, dayfirst=True)

m_dict = {f'm{v}':g for v,g in df.groupby(df.date.dt.month)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...