【发布时间】:2016-12-26 19:41:47
【问题描述】:
我想使用 Python 中的字典构建用户购买历史的序列。我希望这些序列按日期排序。
我的数据框中有 3 列:
users items date
1 1 date_1
1 2 date_2
2 1 date_3
2 3 date_1
4 5 date_2
4 1 date_5
4 3 date_3
结果应该是这样的:
{1: [[1,date_1],[2,date_2]], 2:[[3,date_1],[5,date_2],[1,date_3]], 4:[[5,date_2],[3,date_3][1,date_5]]}
我的代码是:
df_sub = df[['uid', 'nid', 'date']]
dic3 = df_sub.set_index('uid').T.to_dict('list')
我的结果是:
{36864: [258509L, '2014-12-03'], 548873: [502105L, '2015-09-08'], 42327: [492268L, '2015-01-29'], 548873: [370049L, '2015-02-18'], 36864: [258909L, '2016-01-13'] ... }
但我想按用户分组:
{36864: [[258509L, '2014-12-03'],[258909L, '2016-01-13']], 548873: [[502105L, '2015-09-08'],[370049L, '2015-02-18']], 42327: [492268L, '2015-01-29'] }
请帮忙!
【问题讨论】:
-
那么你的代码在哪里,它到底有什么问题?
-
我的代码是
df_sub = df[['uid', 'nid', 'date']]dic3 = df_sub.set_index('uid').T.to_dict('list')我的结果是:{36864: [258509L, '2014-12-03'], 548873: [502105L, '2015-09-08'], 42327: [492268L, '2015-01-29'], 30732: [370049L, '2015-02-18'], 34830: [258909L, '2016-01-13'] ... }我喜欢按用户分组 -
感谢@jonrsharpe 的建议,这是我第一次在这个论坛上提问。
标签: python pandas dictionary dataframe sequences