我有这个store_df
数据框:
store_id date sales
0 1 2023-1-2 11
1 2 2023-1-3 22
2 3 2023-1-4 33
3 1 2023-1-5 44
4 2 2023-1-6 55
5 3 2023-1-7 66
6 1 2023-1-8 77
7 2 2023-1-9 88
8 3 2023-1-10 99
我无法在面试中解决这个问题。
这正是我问的问题:
1.创建一个包含3列的数据集- store_id、date、sales创建3个Store_id每个store_id包含3个连续日期9行记录销售额我们考虑所有商店的9个相同日期销售额可以是任意随机数
1.编写一个函数,当我们给予store_id & date作为输入时,该函数获取前一天的销售额作为输出
1条答案
按热度按时间sirbozc51#
这个问题可以用多种方法来处理。
如果只想获取每组的前一行,假设值是连续的,并按日期递增排序,则使用
groupby.shift
:输出:
如果您确实想获取前一天的值(而不是前一天的值),请使用
merge
:pd.Timedelta('1D')
替换为pd.offsets.BusinessDay(1)
)。*示例(具有不同的输入):