【发布时间】:2016-10-14 08:03:42
【问题描述】:
我有数据
i,ID,url,used_at,active_seconds,domain,search_term
322015,0120bc30e78ba5582617a9f3d6dfd8ca,vk.com/antoninaribina,2015-12-31 09:16:05,35,vk.com,None
838267,0120bc30e78ba5582617a9f3d6dfd8ca,vk.com/feed,2015-12-31 09:16:38,54,vk.com,None
838271,0120bc30e78ba5582617a9f3d6dfd8ca,vk.com/feed?section=photos,2015-12-31 09:17:32,34,vk.com,None
322026,0120bc30e78ba5582617a9f3d6dfd8ca,vk.com/feed?section=photos&z=photo143297356_397216312%2Ffeed1_143297356_1451504298,2015-12-31 09:18:06,4,vk.com,None
838275,0120bc30e78ba5582617a9f3d6dfd8ca,vk.com/feed?section=photos,2015-12-31 09:18:10,4,vk.com,None
322028,0120bc30e78ba5582617a9f3d6dfd8ca,vk.com/feed?section=comments,2015-12-31 09:18:14,8,vk.com,None
322029,0120bc30e78ba5582617a9f3d6dfd8ca,megarand.ru/contest/121070,2015-12-31 09:18:22,16,megarand.ru,None
1870917,0120bc30e78ba5582617a9f3d6dfd8ca,vk.com/feed?section=comments,2015-12-31 09:18:38,6,vk.com,None
1354612,0120bc30e78ba5582617a9f3d6dfd8ca,vk.com/antoninaribina,2015-12-31 09:18:44,56,vk.com,None
我需要按ID 分组,然后按used_at 分组,其中两个字符串之间的差异大于500 second。
我试试
df.groupby([df['ID', 'used_at'],pd.TimeGrouper(freq='5Min')])
但它返回KeyError: ('ID', 'used_at')
【问题讨论】:
-
你可以试试
df.groupby([df[['ID', 'used_at']],pd.TimeGrouper(freq='5Min')])你需要传递一个字符串列表,你试图传递的实际上是一个元组,因此是keyerror -
@EdChum
ValueError: Grouper for '<class 'pandas.core.frame.DataFrame'>' not 1-dimensional -
df.groupby([df[['ID', 'used_at'],pd.TimeGrouper(freq='5Min')])工作吗? -
@EdChum 它返回
TypeError: unhashable type: 'list'