【发布时间】:2021-07-08 02:53:00
【问题描述】:
我有下表
time userid market device query querytype browser
0 2020-07-01 04:47:21 A EN-US PC WEATHER WEATHER EDGE
1 2020-07-01 07:23:52 C ZH-CN MOBILE RECIPIES FOOD SAFARI
2 2020-07-01 15:32:57 D EN-GB TABLET DOGS ANIMALS CHROME
3 2020-07-01 17:16:21 A EN-CA PC SEATTLE CITY EDGE
4 2020-07-01 21:07:21 D EN-GB TABLET DOG FOOD ANIMAL CHROME
5 2020-07-01 22:26:21 E DE-DE MOBILE IPHONE PRODUCTS CHROME
我正在尝试获取userid 的最后一个查询。
last_query
0 NaN
1 NaN
2 NaN
3 WEATHER
4 DOGS
5 NaN
我正在使用以下代码来解决问题,但我没有得到任何值。
s = pd.Series()
for name, value in df.groupby('userid'):
userid = name
last_query = value['query'].shift()
s.append(last_query)
有没有办法将这些值组合在一起或完全实现这一点?
【问题讨论】:
-
还请补充一下您希望在最后看到什么值。
-
试试
df.groupby('userid').max().reset_index(),也分享预期的结果,否则一切都是假设。 -
那么你想分别为每个用户获取上一个时间戳的
query列的值吗?