我有一个包含15000行和50列的数据框(datfrm),如下所示:
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)都包含该特定月份(例如1月或2月)中具有“日期”的数据。 ,我想根据字典中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
答案 0 :(得分:1)
尝试:
# 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)}