我要创建一个由三列组成的库存表:
数量纪念日-1 |交易数量数量第0天
股票的格式如下:
> df
Date Stock Quantity
2019-04-01 ALSC3 19600
AMAR3 3080
2019-04-02 ALSC3 4000
AMAR3 3070
我希望简单的移位就能匹配索引(Date,StockTicker),但实际上它会忽略索引并完全移位行。
Date Stock Quantity Day-1
2019-04-01 ALSC3 3080
AMAR3 4000
2019-04-02 ALSC3 3070
AMAR3 NaN
有人知道如何正确执行它吗?我想要这样的东西:
Date Stock Quantity Quantity Day -1
2019-04-01 ALSC3 19600 4000
AMAR3 3080 3070
2019-04-02 ALSC3 4000 NaN
AMAR3 3070 NaN
答案 0 :(得分:1)
假设日期索引是不重复的,您就在这里。
df.Quantity.groupby(level=1).shift(-1)
这与您的预期输出匹配。尽管我认为“第1天数量”是shift()
而不是shift(-1)
。