如果在 groupby 中出现条件,则 Python (Pandas)
Posted
技术标签:
【中文标题】如果在 groupby 中出现条件,则 Python (Pandas)【英文标题】:Python (Pandas) if condition inside groupby 【发布时间】:2021-09-13 20:27: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
我正在尝试回答以下问题: 在包含用户下一个查询的表中添加一列
我真的没有任何线索。 请帮忙
【问题讨论】:
您好,请尽量包含相关信息和代码 sn-ps。这样,我们才能更好地理解和帮助您 【参考方案1】:您正在寻找班次,请参阅:Pandas compare next row 确保您首先按时排序
df['next_query'] = df.sort_values(['time']).groupby('userid')['query'].shift(-1)
time userid market device query querytype browser next_query
0 2020-07-01 04:47:21 A EN-US PC WEATHER WEATHER EDGE SEATTLE
1 2020-07-01 07:23:52 C ZH-CN MOBILE RECIPIES FOOD SAFARI NaN
2 2020-07-01 15:32:57 D EN-GB TABLET DOGS ANIMALS CHROME DOG FOOD
3 2020-07-01 17:16:21 A EN-CA PC SEATTLE CITY EDGE NaN
4 2020-07-01 21:07:21 D EN-GB TABLET DOG FOOD ANIMAL CHROME NaN
5 2020-07-01 22:26:21 E DE-DE MOBILE IPHONE PRODUCTS CHROME NaN
【讨论】:
它只会将整列移动-1,但我需要按ID对其进行分组。有什么建议吗? 以上编辑 - 转换为一个班轮,在班次前添加 groupby以上是关于如果在 groupby 中出现条件,则 Python (Pandas)的主要内容,如果未能解决你的问题,请参考以下文章